Actualmente estoy estudiando la autenticación de token para aplicaciones web y nativas, con el fin de autenticar a los usuarios sin usar su contraseña todo el tiempo a través de HTTPS. Entiendo cómo funcionan los tokens y vi muchas maneras diferentes de manejarlos, pero todavía hay algunos puntos que no están claros.
¿Cómo debo cifrar / hash el token generado? Algunas personas aconsejan solo un algoritmo hash, otras HMAC-SHAX.
En el caso de que solo tenga el token, ¿cómo autentificará el servidor a un usuario en particular? ¿No es más débil que una autenticación basada en contraseña utilizando un algoritmo fuerte como bcrypt?
Por último, para evitar el robo de tokens, ¿cómo debo guardarlos en el lado del cliente? O hay una mejor manera de almacenar los tokens en el cliente.
Gracias