Estamos creando una aplicación y el registro del usuario ocurre de la siguiente manera.
- El usuario envía a través de la aplicación: email-id / teléfono y nombre de usuario.
- El servidor envía un pin para ingresar a la aplicación por teléfono / correo electrónico.
- El usuario ingresa el pin en la aplicación.
Después de esto, estamos pensando en dos formas en que podríamos almacenar cierta información de autenticación en la aplicación.
A. El servidor envía un token que utiliza la aplicación con todas las solicitudes posteriores.
O
B. Negociamos una clave segura usando Diffie-Hellman. Luego hay una función de inicio de sesión que incluye el desafío de envío del servidor y la respuesta del usuario. Una vez que este token se genera, se usa y luego se desecha.
Toda la comunicación está sucediendo a través de https. Aunque la opción B se ve mejor, la opción A es más fácil. ¿Alguna razón particular debemos elegir B? Una razón por la que veo es incapaz de token de cambio, pero ¿existen riesgos de seguridad obvios?
También los comentarios para mejorar A o B son bienvenidos.