Avvia un client di gioco con protocollo personalizzato e accede automaticamente all'utente utilizzando la sessione del server web

0

Sto creando un gioco MOBA e ospiterò tornei che saranno visibili sul sito web. per partecipare al gioco, è necessario accedere al sito Web e consultare l'elenco dei tornei e selezionare un torneo e fare clic su riproduci.

Facendo clic su Play verrà avviato un protocollo personalizzato come thegame://launch-tournament/tournament-id/

e il client di gioco si aprirà per l'ID del torneo specificato.

Ora, non voglio che i giocatori eseguano di nuovo il login sul client di gioco, voglio che si colleghino automaticamente perché sono già loggati.

Come posso registrarli in modo sicuro con questa idea?

    
posta Ben Beri 14.08.2015 - 00:55
fonte

2 risposte

1

Potresti usare qualcosa come un ID di sessione univoco. Questo significa che il tuo protocollo personalizzato sarebbe

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

Come funziona:

  • Quando il giocatore esegue il klicks sul torneo selezionato nel suo browser Web, il server genera un identificatore univoco e lo memorizza per un po 'di tempo. Solo pochi minuti.
  • Quindi questo codice verrà aggiunto al link.
  • All'avvio del dispositivo di gioco, invia questo codice al server. Funziona come un token di accesso unico.
  • Il server controlla se il codice è valido. In tal caso, trasmetterà le informazioni dell'utente al client e il giocatore potrà iniziare a utilizzare il suo account.

Per prevenire le frodi, l'intera comunicazione deve essere crittografata.

Inoltre il server potrebbe memorizzare l'IP del Webbrowser insieme al token e controlla se l'IP del client che utilizza il token per accedere è lo stesso.

    
risposta data 14.08.2015 - 08:03
fonte
0

genera un ID contenente un sacco di numeri casuali (più il meglio 128bit sembrano abbastanza in abbondanza) memorizzalo con il tempo di espirazione / indirizzo ip del client / account cliente / gioco da unire (puoi concatenarlo al numero casuale o memorizzarlo su il tuo server).

il gioco invierà l'ID al server di autenticazione che controllerà ed eliminerà il token e invierà al client le informazioni necessarie per partecipare al gioco e dire al server di gioco di accettare questo client.

dettagli di implementazione: -si può generare l'id casuale parzialmente nel browser del client rendendo più difficile indovinare l'id successivo anche se il generatore casuale del server è prevedibile.

-remenber to delete espired e mai check id o si avrà un problema di ram

    
risposta data 14.08.2015 - 08:31
fonte

Leggi altre domande sui tag