2010-04-30 2 views
1

Я хочу создать логин OpenID с PHP так же, как его можно найти в Stack Overflow.OpenID как переполнение стека

Я знаю, что для этого есть много вопросов, но у меня разные.

Если я правильно понял, каждый OpenID определяется уникальным URL-адресом. Но: если я ударил кнопку Google на странице входа в систему стека, в текстовое поле вставлен один общий URL. Является ли это прямым URL-адресом для OpenID-сервера? И если это так, как мне передать URL-адрес this class?

+1

Этот один URL-адрес Google называется «Идентификатор OP», и да, это идентификатор, который приводит к регистрации в Google. Что касается работы PHP, у меня нет подсказки. :) –

ответ

0

В OpenID спецификации (section 7.3.1) он говорит

Для целей создания запросов OpenID аутентификации, значение «http://specs.openid.net/auth/2.0/identifier_select» ДОЛЖЕН быть использован и как заявляемый идентификатор и OP-локальный идентификатор, когда ОП Идентификатор вводится.

Теперь то, что это в основном означает, что вместо того, чтобы использовать «User конкретный URL OpenID» вы можете использовать общий URL и просто указать, что провайдер идентификации должен предоставить в возвращении, что фактический OpenID URL пользователя является ,

Обратите внимание, что это функция OpenID 2.0! Многие библиотеки там еще OpenID 1.x

НТН

0

Вы не можете проверить подлинность с помощью Google SimpleOpenID. Эта библиотека поддерживает только OpenID 1.1, в то время как Google поддерживает только OpenID 2.0.

0

Чтобы перейти с другими ответами, SimpleOpenID не работает с Google. Недавно я использовал http://gitorious.org/lightopenid, и он работает (и включает пример для google).

Библиотека отлично работает в php5 с включенными действительными ошибками/предупреждениями.

0

Процесс OpenID состоит из нескольких этапов. Первый - перенаправление браузера на провайдер OpenID, затем пользователь возвращается на вашу страницу, и вы получаете некоторую информацию о нем.

Среди информация была возвращена, был предоставлен его идентификатор OpenID. Это идентификатор OpenID, который вы ищете, а не тот, который пользователь написал в текстовое поле.

Этот «OpenID» используется только для обнаружения Поставщика удостоверений, не более того. Именно по этой причине вы можете просто положить yahoo.com в поле OpenID и войти в систему с помощью yahoo.

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