Los usuarios se autentican con su número de teléfono, obtienen un texto de pin y, si es correcto, obtienen un token de acceso. Almacene el token de acceso en una base de datos en un modelo Token
. El cliente siempre envía el token de acceso en un encabezado Authorization
. Para las solicitudes que requieren autenticación, analice el encabezado, verifique si está en la base de datos y extraiga el ID de usuario (también almacenado en el modelo Token
) según la fila. Suponiendo que el user_id existe y que el token está marcado como aún válido, complete la solicitud.
Todo está sobre HTTPS. Los tokens no tienen caducidad. Si no es válido, elimino el token en el cliente y luego se le pedirá al usuario que solicite otro. Los tokens son solo cadenas alfanuméricas largas y aleatorias
¿Es esto razonable? ¿Es seguro? ¿Debo usar algún paradigma preexistente?