Inicie un cliente de juego con protocolo personalizado e inicie sesión automáticamente cuando el usuario utiliza la sesión del servidor web

0

Estoy creando un juego MOBA y organizaré torneos que estarán visibles en el sitio web. para unirte al juego, debes iniciar sesión en el sitio web y navegar por la lista de torneos, seleccionar un torneo y hacer clic en jugar.

Al hacer clic en Reproducir se iniciará un protocolo personalizado como thegame://launch-tournament/tournament-id/

y el cliente del juego se abrirá para el ID del torneo dado.

Ahora, no quiero que los jugadores vuelvan a iniciar sesión en el cliente del juego, quiero que inicien sesión automáticamente porque ya están registrados.

¿Cómo puedo iniciar sesión de forma segura con esta idea?

    
pregunta Ben Beri 14.08.2015 - 00:55
fuente

2 respuestas

1

Podrías usar algo como un ID de sesión único. Esto significa que su protocolo personalizado sería

thegame://launch-tournament/tournament-id/VERY-LONG-UNIQUE-HASHCODE

Cómo funciona:

  • Cuando el jugador hace clic en el torneo seleccionado en su navegador web, el servidor genera un identificador único y lo almacena por algún tiempo. Solo unos minutos.
  • Luego, este código se agregará al enlace.
  • Cuando se inicia Gameclient, envía este código al servidor. Funciona como un token de inicio de sesión.
  • El servidor comprueba si el código es válido. Si es así, transmitirá la información del usuario al cliente y el jugador puede comenzar a usar su cuenta.

Para evitar el fraude, toda la comunicación debe estar cifrada.

Además, el servidor podría almacenar la IP del navegador web junto con el token y comprueba si la IP del cliente que usa el token para iniciar sesión es la misma.

    
respondido por el Max 14.08.2015 - 08:03
fuente
0

genere un ID que contenga una gran cantidad de números aleatorios (cuanto más mejor parezcan 128 bits) guárdelo con tiempo de espiración / dirección ip del cliente / cuenta / juego del cliente para unirse (puede concatenar esto con el número aleatorio o almacenarlo) su servidor).

el juego enviará el ID al servidor de autenticación, este comprobará y eliminará el token y enviará al cliente la información necesaria para unirse al juego y le dirá al servidor del juego que acepte este cliente.

detalle de implementación: -puede generar la identificación aleatoria parcialmente en el navegador del cliente, lo que hace que sea más difícil adivinar la próxima identificación, incluso si el generador aleatorio de su servidor es previsible.

-remenber para eliminar el espired y nunca verifique la identificación o tendrá un problema de RAM

    
respondido por el grandchamp robin 14.08.2015 - 08:31
fuente

Lea otras preguntas en las etiquetas