Autenticación de API móvil

9

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 ...

    
pregunta iSun 16.10.2015 - 21:46
fuente

2 respuestas

1

Los JWT pueden caducar. (Deben ser de forma regular o en función de ciertas acciones del usuario). Entonces se puede emitir un nuevo JWT. Pero en última instancia, si el JWT es robado y aún no ha caducado, se ha visto comprometido. Al final del día, si va a mantener el estado, el cliente debe aferrarse a algo, cookie de sesión, jwt, lo que sea ...

Le recomendaría implementar una forma de caducar y volver a administrar las claves de API. Aquí hay una respuesta con un gran resumen de las mejores prácticas. Cómo implementar un mecanismo de clave de API

    
respondido por el jbd 21.04.2016 - 08:07
fuente
0

Uno de mis colegas mencionó APIMAN (de RedHat) a mí hoy, que parece ser lo que necesitas. Tiene una capa de autenticación entre otras características útiles.

    
respondido por el HTLee 16.10.2015 - 22:00
fuente

Lea otras preguntas en las etiquetas