2013-06-24 3 views
1

Я хотел бы использовать OpenID (PHP и LightOpenID), чтобы получить следующую информацию о пользователе:Выполняют ли в Google и Yahoo версии OpenID атрибут «требуется»?

$openid->required = array(
     'namePerson', 
     'namePerson/first', 
     'namePerson/last', 
     'contact/email', 
     'person/guid', 
     'birthDate/birthYear', 
     'birthDate/birthMonth', 
     'birthDate/birthday', 
     'gender', 
    ); 

Однако, я обнаружил, что как Yahoo и Google возвращает только следующие данные:

Array ([namePerson] => abc [contact/email] => [email protected]) 

ли что-то не так с моим кодом? Могу ли я заставить Google и Yahoo вернуть все данные, которые я хочу?

ответ

2

В реализациях Google и Yahoo OpenID соблюдаются «обязательные» условия в Exchange Attribute Exchange, но не все атрибуты, которые вы ищете. Вот их соответствующие документы, в которых перечислены атрибуты, поддерживаемые их схемой.

https://developers.google.com/accounts/docs/OpenID#Parameters

На момент этой публикации, они в настоящее время поддерживаются поля для Google

  • страна
  • электронной
  • Firstname
  • язык
  • LASTNAME

http://developer.yahoo.com/blogs/ydn/yahoo-openid-now-attribute-exchange-7795.html

На момент этой публикации, они в настоящее время поддерживаются поля для Yahoo

+0

Yahoo URL: щелкнув элемент получает 404. Google URL: так много информации, что я являюсь потеря. Можете ли вы просто указать мне используемые поля в $ openid-> required? спасибо большое – manhon

+0

поддерживаемые поля находятся прямо там на двух ссылках, которые я опубликовал, я считаю, что axschema заменяется openid.net, но имена полей по-прежнему одинаковы – ikumen

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