Domanda

Recentemente ho aggiunto il login OpenID al mio sito web. Ma io non so come aggiungere la funzione di logout.

Per esempio, sulla cliccando sul pulsante Accedi Sono in grado di mostrare il form di login del provider OpenID selezionato, ad esempio account Google. Tuttavia, non so come implementare un pulsante Esci per uscire da l'account Google.

Si prega di consigli.

È stato utile?

Soluzione

OpenID affidandosi partito non può accedere all'utente di OP, è possibile implementare solo disconnessione locale. Proprio come RP non può accedere utente nel OP.

Altri suggerimenti

provider OpenID individuali offrono URL diversi per logout per cui l'utente può essere reindirizzato.

Google: https://www.google.com/accounts/Logout

Yahoo: https://login.yahoo.com/config/login?logout= 1

si è discusso di permettere PO per fornire questi URL come parte dello standard; vedi questo discussione sulla mailing list OpenID.

Credo che tu stia mescolando paradigmi (odio questa parola, ma non riesco a pensare ad una migliore usare solo ora). Il link di accesso manda all'utente di loro fornitore OpenID per l'autenticazione, ma non è l'utente che accede al proprio account Google che è il bit importante, è l'accesso al tuo sito web, fornendo le credenziali tramite OpenID. L'utente potrebbe già essere loggato per loro fornitore OpenID; non lo fai (non può) conoscere e non c'è bisogno di preoccuparsi.

Allo stesso modo, il link di logout sul tuo sito dovrebbe registrare l'utente con il proprio sito solo, riportandoli allo stesso stato di prima hanno cliccato il pulsante di accesso. L'utente potrebbe avere disconnesso dal loro fornitore OpenID già; si non conoscono né la cura. Questo sito è un buon esempio:.)

Basta distruggere la sessione.

È possibile implementare solo disconnessione locale OpenID. Come ha detto Charles Duffy è sempre possibile utilizzare URL specifici, ma che è previsto l'utente sta utilizzando un provider che si conosce l'URL di logout per. Che può essere fustrating se l'utente scopre che tutti i suoi account Google vengono disconnessi quando il logout del tuo sito web.

L'altro modo di guardare il problema è se si vuole garantire la persona accedendo al proprio sito web ha sempre bisogno di digitare la propria password, invece di login quando è già connesso a un provider OpenID.

Questa (IMHO) fornisce una maggiore sicurezza se lo si utilizza da un terminale pubblico. Questo farà sì che l'utente che sta effettuando l'accesso a sempre ha bisogno di rinnovare la sua password.

Per fare che la sua in realtà molto semplice, basta usare l'estensione PAPE openid.ns.pape = "http://specs.openid.net/extensions/pape/1.0".
openid.pape.max_auth_age = 0

come parte dell'URL quando si accede in un fornitore OpenID.

Maggiori informazioni qui http://code.google.com/apis/accounts /docs/OpenID.html

Di seguito è un trucco con cui posso effettuare il logout da Google:

<iframe id="myIFrame" src="" style='display:none;' > 
 function logOutGoogle(){
     document.getElementById('myIFrame').src='https://www.google.com/accounts/Logout';
     timeOut();
 }

che sto facendo il mio progetto e bloccato nel problema di logout Non so come fare come te Ho risolto per ripristinare tutte le biscotto perché non so il cookie che impostare la registrazione in stato di ho bisogno di sapere che.

è necessario aver creato alcune variabili di sessione Al termine della verifica dal fornitore OpenID, non vi resta che distruggere quelle variabili di sessione. Non si può distruggere la sessione che viene creato dal provider OpenID.

Ecco una soluzione affidabile per la registrazione da Google e il tuo RP.

Basta chiamare questo URI

https://www.google.com/accounts/Logout?continue=https://appengine.google.com/_ah/logout?continue=https://www.yourapp.com

sarà il logout di google e reindirizzare di nuovo per la vostra applicazione. Grazie!

Presto Io posto la mia soluzione di logout per Windows Live e facebook.com STS.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top