Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';无法通过ASP MVC5获取电子邮件或facebook的公共配置文件_Facebook_Oauth_Asp.net Mvc 5 - Fatal编程技术网

Can';无法通过ASP MVC5获取电子邮件或facebook的公共配置文件

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",

我使用MVC5获取公共配置文件用户,但我只获取用户的ID和DisplayName。我研究了多种方法,但没有结果。这是我的安装程序片段:

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减少了默认情况下返回的字段数量,现在必须特别要求所有其他字段–请参阅更改日志。您的身份验证提供商代码很可能需要进行调整/修改,以考虑到这一点。您找到解决方案了吗?我也有同样的问题