Facebook OAuth LoginInfo在回调时为空

时间:2017-04-13 15:31:36

标签: facebook oauth asp.net-mvc-5

我正在建立一个测试应用程序,并通过Facebook测试外部视图。

我正在使用fiddler,当我点击按钮通过facebook登录时,我得到了代码200的结果(但由于HTTPS而被锁定),但我收到了loginInfo的空值。

具体来说:

[AllowAnonymous]
public async Task<ActionResult> ExternalLoginCallback(string returnUrl)
{
    var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync(); // this is null
    if (loginInfo == null)
    {
        return RedirectToAction("Login");
    }

我已经重置了我的密钥,但这不起作用。我有最新版本的Microsoft.AspNet.Identity.Owin(2.2.1)。

这是什么处理?

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

假设您也创建了一个新的Facebook应用程序,它将在最新的Facebook Api版本上运行。由于Facebook改变了Api,默认模板似乎不再开箱即用。他们减少了默认返回的字段数量,现在必须特别要求所有其他字段。

查看以下帖子,其中包含2个可能的解决方法。

Why new fb api 2.4 returns null email on MVC 5 with Identity and oauth 2?