【问题标题】:facebook api version 2.4 not returning email from owin facebookauthentication options?facebook api 2.4 版不从 owin facebookauthentication 选项返回电子邮件?
【发布时间】:2015-11-10 01:57:42
【问题描述】:

我为我的应用程序创建了新的 facebook 应用程序。现在这个应用程序是 api 版本 2.4。我正在使用下面的代码使用 owin 登录。

        app.UseFacebookAuthentication(new FacebookAuthenticationOptions()
        {
            AppId = "xx",
            AppSecret = "xxx",
            Scope = { "email", "public_profile" }                          
        });

此代码运行良好,并使用 api 版本 2.3 的旧 facebook 应用程序向我返回了电子邮件地址。 但是现在使用 api version2.4,它没有返回电子邮件。 它正在询问用户是否允许共享电子邮件而不是在登录信息中返回电子邮件。

我缺少 api 2.4 的任何修改吗? 请建议。提前致谢 。 .

【问题讨论】:

标签: asp.net facebook asp.net-identity compatibility owin


【解决方案1】:

我想 Owin Facebook 身份验证需要更新。当前版本于 2015 年 2 月更新,早于 Graph API v2.4。

在 v2.3 及以下版本中,调用 https://graph.facebook.com/v2.3/me 将返回电子邮件、姓名、ID、性别等。在 v2.4 中,这将只返回名称,而在 v2.4 中,这将只返回名称和 ID。

https://graph.facebook.com/v2.4/me

{ "name": "Name Returned", "id": "1343143144321" }

因此,如果您需要电子邮件地址,则需要在代码中实现自己的修复。

在您的服务器端实现请求中具体返回的电子邮件地址 https://graph.facebook.com/v2.4/me?fields=email&access_token=

【讨论】:

  • 我通过将访问令牌声明添加到 owin 请求来做到这一点,然后通过图形 API 发送了另一个电子邮件请求。
  • 有关如何解决此问题的干净解决方案,请参阅此答案stackoverflow.com/a/32636149/790635
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-29
  • 1970-01-01
  • 1970-01-01
  • 2013-08-25
  • 2013-05-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多