Tengo una API REST de C # que expone algunos métodos a través del protocolo HTTP. La API está destinada a ser utilizada en mi aplicación de Android (Java) que se encuentra actualmente en los cimientos.
Dado que la aplicación se encuentra en una etapa temprana de desarrollo y aún no se ha lanzado, accedo a los métodos de API usando http://example.com/resources/item17
sin ninguna seguridad adicional. Sin embargo, tan pronto como se lance la aplicación, no quiero que nadie excepto los usuarios de mi aplicación accedan a la API.
Mi idea es generar algún tipo de clave única en mi código C # + de Android. Una versión simplificada para darle la idea:
int key = DateTime.Now.Minute * Math.PI * 5;
Esto haría que la solicitud se vea algo como:
'http://example.com/resources/item17?key=1234567'
La API de C # verificará esto antes de enviar una respuesta.
La única forma de averiguar cómo se genera la clave sería revertir mi código de Android (que será confuso en ese momento).
¿Esto suena como una buena solución, o tienes alguna otra sugerencia?