Esta pregunta se me ocurrió después de leer este post: “Common REST Mistakes: Sessions are irrelevant”Licencias y sesiones de la forma en REST
Si las sesiones son de hecho desalienta en una aplicación REST. ¿Cómo manejarías las licencias en dicha aplicación? Me refiero específicamente al modelo de licencias simultáneas y licencias no nombradas. es decir, el cliente compra licencias X, lo que significa que la aplicación puede permitir que hasta X usuarios inicien sesión simultáneamente. Lo que significa que la aplicación debe mantener un estado para los usuarios que inician sesión actualmente.
sé que puedo crear un recurso llamado licencias, que establecerá una cookie o generar un identificador único, y luego el cliente tendrá que enviar con cada petición. Pero es lo mismo que crear una sesión, ¿verdad?
Si voy a adoptar el enfoque sin estado y pedir al cliente para crear un token de autenticación para cada solicitud de la forma en que la aplicación saber cuándo hay que consumir y liberar la licencia para ese cliente?
¿Existe una alternativa? específicamente una alternativa más RESTful?
¿Cuándo invocaré la licencia de versión? para permitir que otro usuario inicie sesión No deseo que la licencia se consuma solo durante los milisegundos que la solicitud se está procesando realmente en el servidor, pero durante todo el tiempo que el usuario está activo. – LiorH
Es por eso que debe guardar el estado. La sesión/licencia debe destruirse cuando el usuario hace clic en un enlace de cierre de sesión o después de un tiempo de espera. (Que puede ser un campo en la tabla de la base de datos, como una marca de tiempo last_login que se actualizará a la marca de tiempo actual para solicitudes válidas.) –
@Aram Verstegen, dijo que es por eso que debería guardar el estado, pero si salva el estado, ¿eso no viola los principios de REST? –