我们的Facebook登录目前无法使用。我们从Facebook Developer Portal收到了一条消息:
但是今天,在ExternalLoginCallback中,我们的登录信息对象为null:
我们正在使用ASP.NET MVC 5,并且我们的认证是这样的:“应用名称”目前可以访问Graph API V2.2版本,该版本的生命周期将于2017年3月27日结束。为确保平稳过渡,请将所有调用迁移到Graph API V2.3或更高版本。
要检查您的应用程序是否会受到此升级的影响,可以使用版本升级工具。这将向您显示哪些调用(如果有)受此更改影响以及在较新版本中的任何替代调用。如果您没有看到任何调用,则可能不会受此更改的影响。
您还可以使用我们的更新日志来查看所有Graph API版本中的完整更改列表。
var facebookAuthenticationOptions = new FacebookAuthenticationOptions()
{
AppId = "****",
AppSecret = "****",
AuthenticationType = "Facebook",
SignInAsAuthenticationType = "ExternalCookie",
Provider = new FacebookAuthenticationProvider
{
OnAuthenticated = async ctx => ctx.Identity.AddClaim(new Claim(ClaimTypes.Email, ctx.User["email"].ToString()))
}
};
facebookAuthenticationOptions.Scope.Add("email");
但是今天,在ExternalLoginCallback中,我们的登录信息对象为null:
[HttpGet]
[AllowAnonymous]
[RequireHttps]
public async Task<ActionResult> ExternalLoginCallback(string returnUrl = null)
{
try
{
var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
if (loginInfo == null)
{
return RedirectToAction("Login");
}
... more code here...
在Facebook开发者门户中,我们的API版本是2.3。
我们尝试了许多选项,但没有结果:
如何在ASP.NET MVC 5中从Facebook v2.4 API的OAuth ExternalLoginCallback中访问电子邮件地址
为什么新的fb api 2.4在MVC 5中使用Identity和oauth 2时返回null电子邮件?
非常感谢您的帮助。