Estoy tratando de poner en práctica la gestión de sesiones en mi servicio REST. Llegué a conocer estas pautas mientras navegaba:Sesión: ¿Cómo generar token de autenticación para el servicio REST? (Jersey)
No se usan las sesiones del lado del servidor - viola el principio RESTful.
Utilización del protocolo HTTP de autenticación básica - No es posible en este momento, ya que se me pide no utilizar SSL/TLS (. Que sin duda es necesario para autenticación básica)
El uso de HTTP Digest - Me han dicho que esto aumenta la red tráfico. Esto suena costoso, especialmente cuando mi cliente es un dispositivo móvil.
el uso de cookies - Me dicen que nunca se debe confiar en la galleta para asegurar mis recursos importantes, que pueden ser falseadas fácilmente. Además, leí sobre ataques de scripting entre sitios a través de cookies.
Me queda la opción de generar un token de autenticación, que el usuario debe enviar cada vez, lo cual, reconozco, no es "completamente" RESTful.
Ahora lo que necesito saber, ¿cómo debería generar estos tokens de autenticación únicas, que son lo suficientemente seguros a nivel empresarial? ¿Hay alguna biblioteca para Jersey? ¿Debo ir por OAuth? Acabo de leer un poco sobre ellos, ¿son útiles en mi caso? Tenga en cuenta que mis clientes objetivo son dispositivos móviles: ¿pueden acceder a un servicio OAuth?
Gracias LIMC! Mientras tanto, eché un vistazo a la clase SecureRandom de Java. ¿Es preferible a tu método? Tanto – SlowAndSteady
funciona bien, en mi opinión ... añadiendo un 'creationDate' hace que el token bastante único junto con la clave generada a partir de' 'UUID' o SecureRandom'. La pieza importante es el 'creationDate' para que compruebes contra TTL. – limc