2009-06-04 3 views
19

Ho una domanda su come/ciò che i migliori approcci sono ad usando OpenID e anche fornendo la possibilità di rimanere connesso.OpenID + ricordati di me/a rimanere collegato

se guardo StackOverflow Per esempio io ho login utilizzando Google e se chiudo dal browser e tornare mi ha ancora come loggato.

Tuttavia, io non sono collegato in Google e moreoever ho rimosso StackOverflow dalla lista dei servizi autorizzati che avere accesso al tuo account Google. Mi aspetterei ingenuamente che StackOverflow mi chiedesse di effettuare nuovamente il login, ma non è così.

Quindi la mia domanda è: quali sono le migliori pratiche per quanto riguarda OpenId e ricordare gli utenti autenticati attraverso le sessioni?

risposta

11

OpenID è ancora piuttosto nuovo e diverse parti di supporto stanno provando nuovi e diversi modi per implementare OpenID. C'è un work in progress best practices document for relying parties ospitato dalla fondazione OpenID. In particolare, affrontano la questione dei cookie e delle lunghezze di sessione nel loro last section. Sicuramente un'idea interessante per usare persistentemente i cookie _id_id anziché i cookie persistenti di sessione per rendere più facile la vita dell'utente: devono solo uscire dal loro OP e chiudere il browser.

Personalmente trovo il comportamento che stai descrivendo su StackOverflow piuttosto naturale. Se OpenID fosse fuori dall'immagine e tu fossi collegato a un sito web username/password su due computer diversi con un cookie persistente (uno scenario molto comune), e avessi cambiato la tua password su uno, non sarei sorpreso se l'altro il computer mi ha ancora registrato. È possibile che possa chiamare un buco di sicurezza, ma è comunque prassi normale. È così normale che Gmail abbia recentemente aggiunto un display nella parte inferiore della schermata della Posta in arrivo che ti informa su dove hai effettuato l'accesso e ti offre l'opportunità di invalidare il loro cookie di sessione.

Suggerirei che un approccio simile potrebbe essere adottato da qualsiasi RP, indipendentemente dal metodo di autenticazione. E questo probabilmente mitigherebbe la preoccupazione per la sicurezza che hai.

+2

4 anni dopo, controllando se ci sono dei progressi su questo? –

+1

4 anni dopo, sì, credo che ci fosse, ci sono [specifiche] complete (http: // openid.net/developers/specs /) qui. –

4

L'overflow dello stack probabilmente utilizza un cookie per ricordarti come numero utente xyz o ID di sessione 1234. Dopo l'autenticazione, OpenID non ha più nulla a che fare con la sessione. SO non ha la possibilità di vedere se sei ancora connesso a Google, quindi questo sembra naturale.

+1

capisco/apprezzo che sta usando il proprio cookie ma mi aspetterei che almeno qualche controllo periodico sarebbe fatto contro google dato che ho rimosso lo stack overflow dall'elenco dei servizi autorizzati contro il mio account google. In base a questa configurazione, qualcuno potrebbe facilmente venire e utilizzare la mia macchina e pubblicare contenuti nello stack overflow quando ho detto che non voglio che ciò accada in Google. – jamie

+1

Hai indicato che non desideri più che l'overflow dello stack effettui l'autenticazione sul tuo account Google. Non si sta autenticando perché lo hai già fatto qualche tempo fa. Cosa si vuole impossibile senza richiedere di accedere di nuovo periodicamente. –

+2

Il fatto è che, dal punto di vista dell'utente, penso che ciò renda OpenId in qualche modo contraddittorio. Puoi avere un posto in cui "fornire il tuo processo di accesso" ma non hai un posto dove controllare quali siti possono e non possono usarlo. Ciò significa potenzialmente che quando altri siti hanno, in effetti, conservato informazioni sufficienti dall'accesso, non è necessario autenticarti di nuovo. In ogni caso la mia domanda non era diretta a SO di per sé, ma piuttosto a quali sono le migliori pratiche raccomandate per quanto riguarda le soluzioni OpenId e "stay logged in". – jamie