Как аутентифицировать пользователя с помощью учетной записи Google Gmail, такой как stackoverflow - PullRequest
8 голосов
/ 19 февраля 2011

Я хочу аутентифицировать пользователя, используя учетную запись Google.Я разработал oauth с использованием некоторых библиотек.

Но он выдает мне сообщение, будто какой-то веб-сайт запрашивает разрешение на доступ к Google docs / calendar / etc., .

Когда мы регистрируемся на stackoverflow.com, он спрашивает, что stackoverflow.com обращается к вам@gmail.com.Как я могу получить разрешение на адрес электронной почты.

Обновление: Я разработал oauth с использованием библиотеки Zend PHP.

И посмотрите скриншоты

stackexchange.com

enter image description here

Скриншот моего приложения

enter image description here

Спасибо

Ответы [ 5 ]

4 голосов
/ 21 февраля 2011

В данный момент я работаю над примером приложения ZF 1.11, которое использует OpenID и openid-selector.Приложение ZF, называемое zfopenid, можно загрузить с здесь (оно содержит полную библиотеку ZF и должно работать из коробки): enter image description here Аутентификация с помощью Google, Yahoo работает (по крайней мере, для меня) наэтот этап.Чтобы это работало, мне нужно было внести некоторые изменения в Zend_OpenId_Consumer, описанные в http://framework.zend.com/issues/browse/ZF-6905 + некоторые дополнительные изменения.Также я включил My_OpenId_Extension_AttributeExchange (то есть реализацию AttributeExchange Криса Биснетта), чтобы получать электронную почту из Google, Yahoo (на данный момент она не отображается, но она должна быть в переменной $ _GET, возвращаемой из Google, Yahoo,aol или myopenid для user / login).

Так что, если вы или кто-либо хотел бы проверить это, я был бы благодарен, так как я планирую в конечном итоге написать сообщение в блоге об этом.Любая обратная связь будет очень полезна на данном этапе.В частности, действительно ли это работает, или это просто работает для меня (я запускаю его на локальном хосте, используя XAMPP для Linux 1.7.3a и Linux Mint 10).

2 голосов
/ 19 февраля 2011

Я провел некоторый эксперимент с ZF для создания формы входа в систему с OPEN ID, но в случае Google я смог войти, но не смог запросить у Google информацию о пользователе

, потому что Googleреализуя расширение openid под названием AX, насколько я помню, в то время как ZF реализует только SREG, вы можете найти его в library/Zend/OpenId/Extension

, вот мой демонстрационный пример http://zc.dagho.com/index/login, он очень хорошо работает сGoogle и другие, но он не может запрашивать информацию о пользователях

, и вы можете просмотреть: Как получить информацию о профиле пользователя OpenID?

Google реализуетAX, а также Yahoo (вы должны запросить разрешение у Yahoo).К сожалению, на момент написания этой статьи Zend Framework OpenID поддерживает только SREG, но я также написал расширение для поддержки AX ak33m.com/?p=71 - Akeem 29 октября 2009 г. в 2:27

http://framework.zend.com/issues/browse/ZF-6905

обновление: это может быть хорошо, я не проверял это: http://framework.zend.com/issues/browse/ZF-7328

1 голос
/ 07 ноября 2011
0 голосов
/ 08 июля 2011

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

0 голосов
/ 19 февраля 2011

Я считаю, что Stackoverflow использует библиотеку http://www.dotnetopenauth.net/.

https://meta.stackexchange.com/questions/56109/stack-overflow-and-dotnetopenauth

...