Per quanto riguarda il token di identità - può assumere diversi moduli. In un caso particolare (che so che OpenID supporta) il token è effettivamente un insieme di parametri URL. Forniscono una serie di cose, tra cui:
- Identifica in modo univoco chi sei (ad es. il tuo OpenID / URL)
- Una firma. Questo è un hash crittografico, creato dalle informazioni sull'identità sopra e un segreto prestabilito noto solo dal tuo provider OpenID e da StackExchange.
Se modifichi le informazioni identificative, interrompi la firma e StackExchange rifiuterà di accedere. Inoltre, non puoi ricreare una firma da zero, poiché non conosci il segreto condiviso.
Un'altra forma di token, una che mi è più familiare, è una lunga stringa pseudo-casuale. Il tuo browser ritorna dal provider di identità con questo nell'URL. Quindi il sito del cliente (ad esempio StackExchange) controlla il token direttamente contro il provider di identità; il provider guarda nel suo elenco di token emessi di recente e, se trova, restituisce al cliente le informazioni identificative univoche.
Per quanto riguarda il logout / single-out-out - no, StackExchange non sa se ci si disconnette dal servizio OpenID. Allo stesso modo, il tuo provider OpenID non viene informato se ti disconnetti da StackExchange.
Alcuni sistemi (Google mail / docs / calendar è un buon esempio) utilizzano invece un approccio che ti disconnette dal sito / servizio che stai utilizzando e dal tuo fornitore di servizi ID. Tuttavia, tutti gli altri servizi non sono interessati. Ad esempio:
- Accedi a Gmail
- Collega a Google Documenti (non dovrai eseguire di nuovo l'accesso)
- Esci da Gmail (la sessione di Google Documenti non verrà modificata)
- Il prossimo servizio Google a cui andrai ti chiederà di accedere di nuovo
References: