首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >雅虎!OpenID不包含属性交换信息(使用python-openid)

雅虎!OpenID不包含属性交换信息(使用python-openid)
EN

Stack Overflow用户
提问于 2010-04-19 05:54:24
回答 1查看 2K关注 0票数 2

我正在使用python-openid成功地将我的基于python的站点连接到OpenID。它在Google上工作得很好,在Yahoo!但是使用Yahoo!属性交换似乎不起作用。我只能得到电子邮件地址。名字、姓氏和国家/地区始终为空。我知道雅虎!帐户(通过该电子邮件地址)定义了名字和姓氏。

我在普通的OpenID参数中使用以下参数:

代码语言:javascript
复制
    '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',

搜索我找到了this answer,但是我不熟悉PHP框架和它对"counts“的用法。在python-openid框架中没有这样的东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-05 04:44:49

也许,迟到总比不到好。我刚刚使用Net::OpenID::Consumer包在Perl中测试了同样的东西,并且遇到了类似的问题。我首先发现名和姓不能从yahoo获得,相反,你必须定义另一个指向axschema类型http://axschema.org/namePerson的类型,你也可以请求他们的媒体镜像,但是名字和姓氏永远不会起作用。

yahoo的openid属性交换的文档在这里(这很糟糕,但同时,这取决于开发人员如何定义类型并将它们指向正确的模式值):http://developer.yahoo.com/blogs/ydn/posts/2009/12/yahoo_openid_now_with_attribute_exchange/

与谷歌相反,谷歌可以请求的值是国家、电子邮件、名字、姓氏和语言,在这里有更好的记录:http://code.google.com/apis/accounts/docs/OpenID.html

考虑到这些差异,为每个列出的提供商提供不同的返回urls可能是谨慎的做法。我还没有列出MyOpenID的属性,因为到目前为止我还没有测试它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2664127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档