Estoy intentando diseñar un servicio de Android Analytic donde cada aplicación de usuario que se registra en este servicio necesita descargar nuestro SDK. El SDK en sí necesita comunicarse con nuestro servidor API. El punto en el que me encontré con el problema es que no sé cómo implementar una forma adecuada de autenticación para cada aplicación para poder comunicarme con nuestro servidor de API.
Ya generé una clave API única para la aplicación de cada usuario, pero no sé cómo manejar el proceso de autenticación, ya que si asumimos que la clave API es el único factor de autenticación, el pirata informático puede robarla fácilmente. .
Por otra parte, leí que JWT
sería el mejor de los casos, pero ¿cuál es la diferencia al enviar las claves API y obtener el token de acceso donde, de nuevo, ambos pueden ser robados fácilmente? ¿Debería usar OAuth 2.0
o algo más?
Cualquier idea sería apreciada ...