Quiero saber si este es un esquema adecuado para la administración de sesiones. Una vez que el usuario se ha autenticado con user / pass, el servidor devuelve session = MD5(SECRET + user_id) (junto con otros campos) donde SECRET es una cadena aleatoria (por ejemplo, 256 bits).
Luego, el cliente simplemente envía el hash session recibido con cada solicitud, y el servidor lo valida al verificar que MD5(SECRET + user_id) es igual al hash recibido.
¿Cuáles son los riesgos potenciales aquí? Supongo que si el usuario puede enviar un user_id vacío, entonces ella está un paso más cerca de SECRET , pero esto es fácilmente evitable. Además, SECRET podría cambiar cada semana aproximadamente.
(Nota: estoy usando Node como el backend para una aplicación móvil, por lo que no hay navegador ni cookies).