Yahoo! OpenID не включает информацию об атрибутах Exchange (используется python-openid) - PullRequest
2 голосов
/ 19 апреля 2010

Я использую python-openid для успешного подключения моего сайта на Python с OpenID. Он отлично работает с Google и Yahoo! но с Yahoo! Обмен атрибутами, похоже, не работает. Я только получаю адрес электронной почты. имя, фамилия и страна всегда пустые. Я знаю Yahoo! учетная запись (по этому адресу электронной почты) имеет имя и фамилию.

Я использую эти параметры среди обычных OpenID:

    'openid.ns.ax':'http://openid.net/srv/ax/1.0',
    'openid.ax.mode':'fetch_request',
    'openid.ax.required':'firstname,lastname,email,country',
    'openid.ax.type.firstname':'http://axschema.org/namePerson/first',
    'openid.ax.type.lastname':'http://axschema.org/namePerson/last',
    'openid.ax.type.email':'http://axschema.org/contact/email',
    'openid.ax.type.country':'http://axschema.org/contact/country/home',

Поиск Я нашел этот ответ но я не знаком с фреймворком PHP и его использованием "count" В среде python-openid такого нет.

1 Ответ

2 голосов
/ 05 апреля 2011

Лучше поздно, чем никогда, возможно. Я просто тестировал эту же вещь в Perl, используя пакет Net :: OpenID :: Consumer, и у меня были похожие проблемы. Сначала я обнаружил, что имя и фамилия недоступны в Yahoo, вместо этого вы должны определить другой тип, указывающий на тип axschema http://axschema.org/namePerson,, и вы также можете запросить их медиа образ, но имя и фамилия никогда не будут работать. 1003 *

Документация по обмену атрибутами opena в yahoo находится здесь (и это ужасно, ИМХО, но в то же время разработчик должен знать, как определять типы и указывать им правильные значения схемы): http://developer.yahoo.com/blogs/ydn/posts/2009/12/yahoo_openid_now_with_attribute_exchange/.

Это, в отличие от Google, где значения, которые вы можете запросить, это страна, адрес электронной почты, имя, фамилия и язык, задокументированные здесь лучше: http://code.google.com/apis/accounts/docs/OpenID.html

Учитывая различия, может быть целесообразно предлагать разные URL-адреса возврата для каждого перечисленного поставщика. Я не перечислил атрибуты для MyOpenID, потому что я еще не проверял это.

...