Domanda

Ho recentemente implementato gli endpoint OpenID di Google e Yahoo nel mio sistema di autenticazione sul mio sito in modo che gli utenti possano evitare di creare un account sul mio sito. Pratica piuttosto comune, giusto?

Ho una domanda specifica però, ma prima una piccola informazione di base.

Quando ottengo l'autenticazione a tre gambe ho usato lo scambio di attributi per ottenere il nome dell'utente e l'indirizzo e-mail. Attualmente, sto memorizzando il loro OpenID (una lunga stringa che assomiglia a questo: https://me.yahoo. COM / A / 2Z7LPLQSNI_DGTAW (... un mazzo di alfanumerico) in un campo speciale nella tabella degli utenti.

Diciamo che la tabella dei miei utenti è simile a questa.

type  id  password                          email             key
1     1   0e9212587d373ca58e9bada0c15e6fe4  test@example.com
2     1   b8d2f4a50d2b364ff2766556ba50da48  me@gmail.com      https://www.google.com/accounts/o8/id?id=AItOawll6-m_y…
2     2   6687d5d88b359ee1340717ebf0d1afc6  you@gmail.com     https://www.google.com/accounts/o8/id?id=AItOawm3-C_9…
3     1   fd193c2fa449c9d6dc201d62d5ca86d3  him@yahoo.com     https://me.yahoo.com/a/2Z7LplQsnI_DgtAw…
1     2   2e710b13b3dd787e2b15eab3dde508c2  person@site.com

types
1 = native account
2 = Google OpenID
3 = Yahoo OpenID
.

Quando un utente accede con un account nativo, l'e-mail e la password vengono utilizzati per autenticare (DUH).

Quando un utente utilizza Google o Yahoo OpenID, quindi viene utilizzato il campo OpenID (Chiave) per autenticare.

Okay, ora che tutte le informazioni di base sono fuori strada ... sarà sicuro se dimentico di memorizzare l'OpenID stesso e semplicemente utilizzare l'e-mail che ho tornato da Attributo Exchange per autenticare l'utente? Può qualcuno che qualcuno possa scomparire la terza tappa di una transazione openid o posso fidarmi che ogni volta che ottengo you@gmail.com dalla porzione di scambio di attributi di una transazione openid con Google che è genuino e non falso?

È stato utile?

Soluzione

Una tale rottura intenzionale del protocollo causerà i tuoi principali mal di testa a lungo termine.Ad esempio, considera i casi in cui un utente accede utilizzando un server OpenID su misura, ma fornisce un indirizzo email @ gmail.com.

Le uniche informazioni garantite per essere assolutamente coerenti e affidabili dopo che uno scambio di autenticazione OpenID è l'URL dell'identità.

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