我希望我的网站在通过OpenId或OAuth注册时自动添加用户的电子邮件地址和头像。 MVC 5允许用户使用他们的openId Google,Facebook或Twitter帐户注册和登录,但是它似乎没有将任何链接信息传递回网站。
我已经有一个用户个人资料模型,可以在用户注册时创建,但我希望能够添加他们的电子邮件地址和avitar,而无需向他们询问。如何在通过openId注册后访问与其Google / Facebook / Twitter帐户关联的用户链接头像和电子邮件地址?
到目前为止,我发现并尝试过的信息似乎适用于MVC 4或MVC 5的候选版本,但似乎无效。
由于
答案 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运行和支持。