Diciamo che ho il server A (un server web). Gli utenti inizialmente utilizzano un provider esterno come Google per essere autenticati su quel server. Nel mio database viene creata una voce che dice che questo utente ha effettuato l'accesso prima e ha confermato il proprio account. Ora hanno accesso a risorse come un forum disponibile dal server web (quindi essenzialmente abbiamo creato un account locale per loro).
Ora, l'utente vuole essere autenticato sul server B (un server di gioco). Il server B è accessibile tramite un'app desktop (client di gioco) tramite TCP. Inoltre, disponiamo di un gate server C che gestirà le richieste iniziali dei client desktop prima di poter connettersi al server B.
La voce creata precedentemente per quell'utente, è necessaria per accedere al server B e / o C. Quindi, l'app desktop dovrebbe aprire un browser per autenticare il nostro utente sul server A.
Qual è il flusso generale richiesto per implementare un tale sistema? Il mio punto di confusione è anche se il server C sa che l'utente è autenticato (scambiando i token di accesso con il server A), quali informazioni passiamo al client desktop e al server B così quando il client si disimpegna dal server C, possono essere sicuri del server B non rifiuterà il loro tentativo di connessione (supponendo che la richiesta sia legittima)?