Non creo grandi siti web, quindi sono principalmente un utente di openid e sono varie implementazioni. Io uso openid qui in SO, e mi piace perché sto usando il mio account Gmail per tutto (ho intenzione di uscire da gmail in futuro, ma ora lo sto usando per tutto), quindi non devo ricordare un altro login/account.Openid è davvero un incubo? Esiste una soluzione open source che potrebbe "astrarre" tutto in un ID interno?
Quindi, a mio ingenua mente utente, credo che usando OpenID è semplice: avete un sacco di fornitori, quando un utente tenta di accedere, la vostra applicazione chiede al suo/la sua provider: "è questa persona in grado per accedere? ", il provider restituisce" questo utente è valido "con alcuni dati (alcuni possono restituire più dati di altri) o semplicemente non restituisce nulla se si tratta di un login non riuscito, ad esempio.
Avevo intenzione di utilizzare openid in un sito Web futuro. Nella mia mente, penso che utilizzerei una sorta di lib che potrebbe "astrarre" questo per me: il tuo utente accede con i provider, la tua app non ne conosce nessuno, e questa lib restituisce un identificatore univoco da un nome utente da un fornitore. Ad esempio: [email protected] viene utilizzato per accedere. Ha un id univoco nella lib, restituito dopo un calcolo hash o qualcosa del genere, e la tua app lo usa per tutto.
Nella mia applicazione, proverei a trattare solo con questo ID creato da una libid openid che gestirà facebook, twitter, gmail e così via. Forse questa libreria ha una tabella con un nome di provider e quando una persona accede per la prima volta al tuo sito, hai una riga nel database che dice "questo ID univoco è di Twitter". In teoria, questo sembra funzionare nella mia mente.
... ma dopo aver letto Openid is a Nightmare, sto iniziando a pensare se sarebbe davvero una buona idea anche provare a trovare una tale libertà che funzionerebbe perfettamente.
Dal momento che tutti (provider openid) ora hanno il proprio meccanismo di accesso, invece di preoccuparsi di un solo sistema (il mio, dovevo creare il mio meccanismo di accesso) - ora devo preoccuparmi di dozzine di sistemi - e openid doveva rispondere allo esattamente. Ora, ho bisogno di una grande libertà che sto immaginando di astrarre tutto questo casino.
Esiste una libreria come quella che ho descritto? Se è così, è possibile creare un'applicazione che almeno cerchi di comportarsi come un sogno davvero "aperto"?
(So openid non è uguale all'autenticazione di Facebook e così ... ma dal punto di vista dell'utente finale, è lo stesso IMHO, "utilizzare lo stesso accesso attraverso i siti Web". Desidero astrarre il processo di accesso anche se il protocollo non è stato creato solo per questo. Per molti servizi, devi solo sapere se qualcuno è chi sta affermando di essere.)
Come utente finale, ho trovato solo OpenID utile quando ho deciso di installare il mio fornitore nel mio account di hosting personale e utilizzare l'URL del mio sito per il login. Qualche tempo dopo ho scoperto che la "installazione il mio fornitore "non era necessario ... –