Estoy desarrollando una aplicación web que se comunicará con un servidor a través de WebAPI. El lado del servidor estará en Azure y el lado del cliente en un alojamiento personalizado con una aplicación JavaScript (por ejemplo, con ReactJS).
Quiero autenticar al usuario de esta manera:
- El usuario ingresa el inicio de sesión y pasa la aplicación cliente.
- El paso y el inicio de sesión se envían al servidor a través de HTTPS con AJAX.
- Si la autenticación se realiza correctamente, el servidor devuelve un token al cliente.
- El token se almacena en el almacenamiento local.
- Todas las solicitudes futuras al servidor contendrán el token previamente almacenado como parámetro.
¿Es ese modelo de autenticación lo suficientemente seguro? Siempre usamos .NET MVC por ahora y almacenamos la información del usuario en la sesión del servidor, pero esta es una situación nueva, donde el cliente no se ejecutó directamente en el servidor, sino que solo se comunicó con él a través de HTTPS.