Quiero dar acceso a un cliente de escritorio a un servidor de juegos a través de un ID de sesión de uso único. Aquí está el procedimiento:
Primero, el usuario debe registrarse en el servidor web (MVC) a través de su navegador. Una vez registrado e ingresado (autenticado), el usuario iniciará una solicitud al servidor web indicando que desea acceder al servidor del juego.
El servidor web reenvía esta solicitud a un gateserver (Web API) que genera una cookie que contiene un ID de sesión de uso único. Ese identificador de sesión se reenvía al servidor de juegos y al servidor web.
El servidor web enviará el ID de sesión al cliente de escritorio (durante la inicialización de la aplicación). El cliente de escritorio utilizará ese ID de sesión para solicitar acceso al servidor de juegos.
El servidor de juegos y el servidor de puerta de enlace descartarán el ID de sesión una vez que el cliente se conecte.
¿Este uso de identificadores de sesión es seguro? Todas las transferencias de la identificación se realizarán a través de https.
EDITAR: El servidor web ya conserva una sesión del lado del servidor para cada usuario. Cuando el servidor web recibe la respuesta del servidor de inicio de sesión, agregará ese ID de sesión de juego a la sesión web del usuario. También cuando digo decir,
enviar el ID de sesión al cliente de escritorio
Quiero decir, el identificador de sesión se incluye en una ruta de archivo (como parámetro) y se usa javascript para iniciar la aplicación desde una vista.
Además, estoy usando un OAuth para iniciar sesión a través de proveedores externos como Google. Intento evitar que los usuarios también tengan que ingresar sus credenciales en mi cliente de escritorio.