2010-04-04 1 views
2

Я пытаюсь создать форму входа, используя OpenID Auth. Я использую образец кода от: http://openidenabled.com/php-openid/ Но я получаю только адрес электронной почты пользователя, когда auth с учетной записью на myopenid.com. Я хочу получить электронное письмо по ссылке «google.com/accounts/o8/id». Как я могу это сделать? Большое спасибо.Как вернуть адрес электронной почты при авторизации OpenID?

ответ

1

Нет абсолютно никакой гарантии, что конкретный OpenID будет подкреплен адресом электронной почты.

Чтобы получить тот уровень пользовательских данных, вы должны смотреть в «Персона» часть системы OpenID

+0

Благодарим за помощь. Но я не понимаю ваш ответ полностью. Я думаю, каждый OpenId должен иметь коррелятивный адрес электронной почты. Что не так? – onlyloveone

+0

Нет, совсем нет. OpenID - это всего лишь URL. У учетной записи * Google *, конечно, есть адрес электронной почты, прикрепленный к ней, но нет никакой гарантии, что [поставщик X] будет использовать адрес электронной почты (например, у него может быть только имя пользователя/пароль). Даже если это произойдет, я могу оставить его закрытым с сайтов, на которых я вхожу, - это одно из преимуществ OpenID – Gareth

1

Вы должны использовать расширение AX вместо простого расширения регистрации. Вы также должны «потребовать» атрибут электронной почты вместо того, чтобы пометить его как необязательный.

Специальные требования для Google.

+0

Спасибо за вашу помощь. В простом коде используется класс SReg. Я попробую с AX. Если я не увенчаюсь успехом, я снова спрошу: D. – onlyloveone

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