He desarrollado una API REST de back-end para una aplicación móvil y ahora estoy buscando implementar la autenticación basada en token para evitar tener que pedirle al usuario que inicie sesión en cada ejecución de la aplicación.
Lo que tenía en mente era en la solicitud inicial que el usuario envía sus credenciales usando la autenticación básica sobre SSL. Una vez que el servidor autentica las credenciales, crea un token seguro y lo envía al usuario para que pueda usarlo en solicitudes posteriores hasta que el token caduque o sea revocado.
Estoy buscando algunos consejos sobre cómo puedo generar un token que no sea susceptible a ataques de MoM / Replay, así como garantizar que los datos almacenados en el token no puedan extraerse.
Voy a utilizar el siguiente enfoque para generar el token que creo impediría que se extrajeran datos de él. Sin embargo, todavía tengo que asegurarme de que no se pueda rechazar con otros ataques.
Solo se podrá acceder a la API a través de SSL, pero no estoy seguro de poder confiar únicamente en esto desde una perspectiva de seguridad.