Para una aplicación web de cliente enriquecido, en el servidor necesito verificar que cada llamada provenga de un usuario que haya iniciado sesión legalmente. Obviamente, la identificación del usuario no es suficiente, porque es fácil de adivinar.
Tengo una idea sobre la que soy escéptico, pero no puedo pensar en razones racionales para no hacerlo.
¿El uso de contraseñas protegidas con una función hash suficientemente fuerte (bcrypt?) es un buen identificador de sesión? Ya está en DB, es único para cada usuario y no se puede adivinar fácilmente. Estoy utilizando un canal seguro (HTTPS) para todas las comunicaciones entre el cliente y el servidor, por lo que no tengo que preocuparme por interceptar el identificador de sesión.
No me importa la caducidad de la sesión, el estado o el inicio de sesión desde dos computadoras a la vez. La aplicación del servidor es lo suficientemente apátrida. Todo lo que realmente necesito es la ID de usuario y algunos medios adicionales de verificación de que ha iniciado sesión correctamente.