【问题标题】:How can I access a user's openId/OAuth avatar and email address in MVC5?如何在 MVC5 中访问用户的 openId/OAuth 头像和电子邮件地址?
【发布时间】:2013-11-05 14:28:03
【问题描述】:

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

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

到目前为止,我找到并尝试过的信息似乎适用于 MVC 4 或 MVC 5 的候选发布版,但似乎不起作用。

谢谢

【问题讨论】:

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


    【解决方案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 图像,因为它看起来不太工作。无论如何,这就是 gravatar 的用途......

    【讨论】:

      【解决方案2】:

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

      来自他们的网站....

      “头像”是代表您在线的图像——当您与网站互动时,您的名字旁边会显示一张小图片。 Gravatar 是全球公认的头像。您只需上传一次并创建您的个人资料,然后当您参与任何启用 Gravatar 的网站时,您的 Gravatar 图像将自动跟随您到那里。 Gravatar 是为网站所有者、开发人员和用户提供的免费服务。它自动包含在每个 WordPress.com 帐户中,并由 Automattic 运行和支持。

      【讨论】:

      • 我已经在使用 Gravitar,它运行良好,我只是想包括更多的人,因为不是每个人都有关联的 gravitar 帐户。不过,谢谢。
      猜你喜欢
      • 2015-01-12
      • 2017-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-08
      • 1970-01-01
      • 1970-01-01
      • 2011-11-02
      相关资源
      最近更新 更多