首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从OpenID提供商请求电子邮件地址

从OpenID提供商请求电子邮件地址
EN

Stack Overflow用户
提问于 2009-02-27 12:27:05
回答 2查看 2.1K关注 0票数 6

我正在实现OpenID,我想要检索用户的电子邮件地址和其他有关用户的信息,我正在这样做:

代码语言:javascript
复制
var fetch = new FetchRequest();
fetch.AddAttribute(new AttributeRequest(WellKnownAttributes.Contact.Email));
request.AddExtension(fetch);

但是提供者不会返回任何内容。我正在使用DotNetOpenID

我做错了什么?

谢谢!

编辑:

当我尝试使用MyOpenID或谷歌在http://www.plaxo.com/上注册时,他们都说plaxo要求提供额外的信息,但当我测试我的网站时,他们什么也没说……

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-03-04 20:43:46

正如Martin所说,这取决于提供商。

我认为MyOpenID不会使用AttributeExchange。他们确实做了sreg (简单注册),所以在你的请求中添加一个ClaimsRequest扩展,你会从一些提供商那里得到一个ClaimsResponse

谷歌只提供AttributeExchange,并且只提供一个电子邮件地址。你的代码中唯一遗漏的一件事是,除非你在你的请求中将其标记为“必需”,否则Google甚至不会主动提供电子邮件地址。向AttributeRequest构造器添加一个",true“第二个参数,然后谷歌应该会亮起来,并给你用户的电子邮件地址。

这里有一些docs and samples of getting attributes

票数 6
EN

Stack Overflow用户

发布于 2009-02-27 12:36:14

也许你没有做错什么-提供者可能只是不支持请求,或者选择不发送所请求的信息。

http://blog.nerdbank.net/2008/07/how-to-use-dotnetopenid-attribute.html“与所有OpenID扩展一样,仅发送带有扩展名的请求并不能保证提供程序会发回对该扩展名的响应。提供程序可能不支持该扩展名,也可能选择不发送任何响应。”

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

https://stackoverflow.com/questions/594548

复制
相关文章

相似问题

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