2010-08-23 10 views
7

Wenn OpenID bei Authentifizierung mit Google authentifiziert wird, ist die zurückgegebene authentifizierte URL in verschiedenen Browsern unterschiedlich, IP-Adressen, & c.Wie bekomme ich eine eindeutige ID von OpenID/Google?

Wie erhält man eine eindeutige Benutzerkennung aus der OpenID-Implementierung von Google?

Anmeldung auf einem Computer und ich kann die folgende erhalten: https://www.google.com/accounts/o8/id?id=AItOawk......_OESXik

Anmeldung auf meinem Blackberry mit demselben Benutzerkonto erhalte ich eine verschiedene URL: https://www.google.com/accounts/o8/id?id=AItOawk......_ABIRop

Soll ich annehmen, noch eine tertiäre HTTP-Aufruf muss irgendwo gemacht werden, um den Login eindeutig zu identifizieren?

+1

Ich bekomme immer die gleiche Kennung zurück von Google (Ich verwende https://www.google.com/accounts/o8/id, ist das das gleiche wie Sie?) – cam

+0

Für eine bestimmte Instanz, wenn ich mich anmelde Auf meinem BlackBerry ist die ID/URL anders als mein Laptop: O – Xailor

Antwort

4

Google gibt Per-Realm-IDs aus. Wenn Sie sich also auf derselben Website anmelden, sollten Sie dieselbe ID für denselben Benutzer erhalten.

Es sei denn, die Openid-Implementierung der Site ist gebrochen und sendet verschiedene Realms basierend auf verschiedenen IP-s oder sogar auf der aktuellen Session-ID (was leicht passieren könnte, wenn es in der URL ist).

Versuchen Sie, sich auf einer anderen Website anzumelden, z. B. stackoverflow, und prüfen Sie, ob noch andere IDs zurückgegeben werden.

+1

Das war's! BB versuchte www. Präfix auf was auch immer typisiert standardmäßig und somit die Implementierung nahm den HTTP-HOST, Fix ist, dass als Set-Parameter, anstatt von HTTP-Anfrage abzuleiten. – Xailor