我正在调试MVC6 MusicStore。我发现用ExternalIdentity
方法访问的Facebook ExternalLoginCallback
没有电子邮件声明。与此同时,我的测试MVC5应用程序成功获得了该声明,因此它不是Facebook应用程序问题。
有人知道这是否是测试版错误?
答案 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");
});