MVC6 Facebook身份错过了电子邮件声明

时间:2015-02-09 11:12:43

标签: facebook asp.net-core-mvc

我正在调试MVC6 MusicStore。我发现用ExternalIdentity方法访问的Facebook ExternalLoginCallback没有电子邮件声明。与此同时,我的测试MVC5应用程序成功获得了该声明,因此它不是Facebook应用程序问题。

有人知道这是否是测试版错误?

2 个答案:

答案 0 :(得分:1)

由于某种原因,升级到Facebook API v 2.4后这不起作用。但是添加像这样的.UserInformationEndpoint有效:

app.UseFacebookAuthentication(options =>
{
    options.AppId = Configuration["Authentication:Facebook:AppId"];
    options.AppSecret = Configuration["Authentication:Facebook:AppSecret"];
    options.Scope.Add("email");
    options.UserInformationEndpoint = "https://graph.facebook.com/v2.4/me?fields=id,name,email,first_name,last_name,location";
});

答案 1 :(得分:0)

您需要在Startup.cs中的Facebook身份验证选项中添加email

app.UseIdentity().UseFacebookAuthentication(options => { options.Scope.Add("email"); });