2010-08-23 5 views
7

Для OpenID при аутентификации против Google возвращенный аутентифицированный URL-адрес отличается от разных браузеров, IP addys, & c.Как получить уникальный идентификатор от OpenID/Google?

Как получить уникальный идентификатор пользователя из реализации OpenID Google?

Войти на одном компьютере, и я могу получить следующее: https://www.google.com/accounts/o8/id?id=AItOawk......_OESXik

Войти на моем BlackBerry с одной учетной записью пользователя я получаю разные URL: https://www.google.com/accounts/o8/id?id=AItOawk......_ABIRop

Могу ли я считать, пока третичный HTTP вызов должно быть сделано где-то однозначно идентифицировать логин?

+1

Я всегда получаю тот же идентификатор от google (я использую https://www.google.com/accounts/o8/id, это то же самое, что и вы?) – cam

+0

Для конкретного экземпляра, если я вхожу в систему на моем BlackBerry, ID/URL-адрес отличается от моего ноутбука: O – Xailor

ответ

4

Google выдает идентификаторы для каждого домена, поэтому, пока вы входите на тот же сайт, вы должны получить тот же идентификатор для одного и того же пользователя.

Если, конечно, реализация openid сайта не нарушена и отправляет разные сферы на основе разных ip-s или даже на текущий идентификатор сеанса (что может легко произойти, если оно находится в URL-адресе).

Попробуйте войти в систему на другом веб-сайте, таком как stackoverflow, и проверьте, все ли он возвращает разные идентификаторы.

+1

Вот и все! BB пробовал www. префикс по любому типу по умолчанию и, таким образом, реализация принимала HTTP HOST, исправление заключается в том, чтобы предоставить это как заданный параметр, а не выводить из HTTP-запроса. – Xailor

Смежные вопросы