如何在MVC5中访问用户的openId / OAuth头像和电子邮件地址?

时间:2013-11-05 14:28:03

标签: openid dotnetopenauth asp.net-mvc-5

我希望我的网站在通过OpenId或OAuth注册时自动添加用户的电子邮件地址和头像。 MVC 5允许用户使用他们的openId Google,Facebook或Twitter帐户注册和登录,但是它似乎没有将任何链接信息传递回网站。

我已经有一个用户个人资料模型,可以在用户注册时创建,但我希望能够添加他们的电子邮件地址和avitar,而无需向他们询问。如何在通过openId注册后访问与其Google / Facebook / Twitter帐户关联的用户链接头像和电子邮件地址?

到目前为止,我发现并尝试过的信息似乎适用于MVC 4或MVC 5的候选版本,但似乎无效。

由于

2 个答案:

答案 0 :(得分:1)

我在这里问了完全相同的问题:

How do i retrieve the email address when using google auth in mvc 5?

信用转到jd4u获取答案

  

您可以将其从ClaimIdentity中检索为电子邮件声明

     

检查此示例

var email = externalIdentity.FindFirstValue(ClaimTypes.Email);

关于个人资料照片,jd4u再次指出:

Get ExtraData from MVC5 framework OAuth/OWin identity provider with external auth provider

我最终使用他们的gravatar图像,因为它似乎不那么重要。无论如何,这就是格拉瓦塔的意思......

答案 1 :(得分:1)

查看Gravatar它很容易实现,您可以检索更多图像。

从他们的网站....

  

a" avatar"是一个代表您在线的图片 - 当您与网站互动时,您的名字旁边会出现一张小图片。 Gravatar是一个全球认可的头像。您只需上传一次并创建个人资料,然后当您参与任何支持Gravatar的网站时,您的Gravatar图片会自动关注您。   Gravatar是网站所有者,开发者和用户的免费服务。它自动包含在每个WordPress.com帐户中,由Automattic运行和支持。