2015-06-13 3 views
1

У меня есть сайт, основанный на zend framework 1 и zend framework 2, я хочу, чтобы пользователи регистрировались на основном сайте, а на других сайтах я хочу, чтобы у вас была кнопка входа в систему, если пользователь нажмет на логин: 1- если пользователь вошёл на сайт на главную страницу назад, войдите в систему без ввода какой-либо информации. 2- если пользователь не вошел в систему на основном сайте, всплывающее окно и спросите его имя пользователя/пароль основного сайта, затем войдите на сайт. Я не понимаю, возможно ли это с помощью OpenId или OAuth. в пользователь OpenId должен генерировать Id OpenId, например:интегрируйте логин на мои сайты с OpenId или OAuth

http://www.example.com/USERNAME

, но я предпочитаю пользователь не вводить какой-либо дополнительной информации.

например, в Stackoverflow вы можете использовать учетную запись Google или Yahoo. , если вы хотите использовать учетную запись yahoo, он спросил ваш OpenId, но я не знаю, какую систему Google использовать, чтобы он не запрашивал какой-либо идентификатор, и просто пользователь вводит свой адрес электронной почты и пароль, если он не вошел в свою учетную запись Google, Я предпочитаю Google System, чтобы пользователь не вводил Url для входа в систему. искренне

ответ

0

При нажатии на кнопку Google на экране входа в StackOverflow тайно заполняет URL

https://www.google.com/accounts/o8/id 

как URL OpenID. Это файл XRDS, который сообщает библиотеке OpenID, где можно найти сервер auth.

OpenID спецификация определяет это в section 7.3.1:

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

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