2017-04-13 77 views
3

我正在构建测试应用程序并通过Facebook测试externallogins。Facebook OAuth LoginInfo在回调中为空

我正在使用小提琴手,当我点击按钮登录通过Facebook我得到的代码200结果(但他们被锁定,由于HTTPS),但我收到一个null值为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)。

这是怎么回事?

任何帮助表示赞赏。

+0

是与谷歌帐户登录时,'ExecuteResult'方法还创建覆盖版本问题也时有发生?如果存在这样的方法,请尝试在其中添加'context.RequestContext.HttpContext.Response.SuppressFormsAuthenticationRedirect = true;'。 –

+0

我可以用google登录成功 –

+0

您使用的是Facebook SDK的哪个版本?不同API版本的最后几天也有很多变化。 – geminiousgoel

回答

1

假设你也创建了一个新的Facebook应用程序,它将在最新的Facebook Api版本上工作。由于Facebook的API变化,默认模板似乎不再适用。他们减少了默认返回的字段数量,现在必须特别要求所有附加字段。

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

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