Can';无法通过ASP MVC5获取电子邮件或facebook的公共配置文件
我使用MVC5获取公共配置文件用户,但我只获取用户的ID和DisplayName。我研究了多种方法,但没有结果。这是我的安装程序片段:Can';无法通过ASP MVC5获取电子邮件或facebook的公共配置文件,facebook,oauth,asp.net-mvc-5,Facebook,Oauth,Asp.net Mvc 5,我使用MVC5获取公共配置文件用户,但我只获取用户的ID和DisplayName。我研究了多种方法,但没有结果。这是我的安装程序片段: var options = new FacebookAuthenticationOptions { AppId = "xxx", AppSecret = "xxx", SignInAsAuthenticationType = "ExternalCookie",
var options = new FacebookAuthenticationOptions
{
AppId = "xxx",
AppSecret = "xxx",
SignInAsAuthenticationType = "ExternalCookie",
Provider = new FacebookAuthenticationProvider
{
OnAuthenticated = async context =>
{
context.Identity.AddClaim(new System.Security.Claims.Claim("FacebookAccessToken", context.AccessToken));
}
}
};
options.Scope.Add("email");
options.Scope.Add("public_profile");
app.UseFacebookAuthentication(options);
我把请求结果称为行动
public async Task<ActionResult> Index()
{
var userDisplayModel = new UserDisplayModel();
var authenticateResult = await AuthenticationManager.AuthenticateAsync("ExternalCookie");
if (authenticateResult != null)
{
userDisplayModel = new UserDisplayModel()
{
DisplayName = authenticateResult.Identity.Claims.FirstOrDefault(t => t.Type == ClaimTypes.Name).Value
};
}
return View(userDisplayModel);
}
公共异步任务索引()
{
var userDisplayModel=新的userDisplayModel();
var authenticateResult=等待AuthenticationManager.authenticateSync(“ExternalCookie”);
if(authenticateResult!=null)
{
userDisplayModel=新的userDisplayModel()
{
DisplayName=authenticateResult.Identity.Claims.FirstOrDefault(t=>t.Type==ClaimTypes.Name).Value
};
}
返回视图(userDisplayModel);
}
在API v2.4中,Facebook减少了默认情况下返回的字段数量,现在必须特别要求所有其他字段–请参阅更改日志。您的身份验证提供商代码很可能需要进行调整/修改,以考虑到这一点。您找到解决方案了吗?我也有同样的问题