Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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
Oauth 2.0 IdentityServer4在LinkedIn登录的AuthenticateResult上没有声明返回_Oauth 2.0_Linkedin_Identityserver4 - Fatal编程技术网

Oauth 2.0 IdentityServer4在LinkedIn登录的AuthenticateResult上没有声明返回

Oauth 2.0 IdentityServer4在LinkedIn登录的AuthenticateResult上没有声明返回,oauth-2.0,linkedin,identityserver4,Oauth 2.0,Linkedin,Identityserver4,我是IdentityServer的新手。目前正在使用IdentityServer4与LinkedIn登录集成。使用下面的代码可以访问linkedin登录页面并成功进行身份验证。但是问题是,AuthenticationResult不返回声明,因此无法继续使用ExternalLoginCallBack()。错误返回为“未知用户ID” 感谢有人能在这方面帮助我:) 多谢各位 services.AddAuthentication() .AddOAuth("LinkedIn", optio

我是IdentityServer的新手。目前正在使用IdentityServer4与LinkedIn登录集成。使用下面的代码可以访问linkedin登录页面并成功进行身份验证。但是问题是,AuthenticationResult不返回声明,因此无法继续使用ExternalLoginCallBack()。错误返回为“未知用户ID

感谢有人能在这方面帮助我:)

多谢各位

services.AddAuthentication()
        .AddOAuth("LinkedIn", option =>
        {

            option.CallbackPath = new PathString("/signin-linkedin");
            option.SignInScheme = IdentityServerConstants.ExternalCookieAuthenticationScheme;
            option.AuthorizationEndpoint = "https://www.linkedin.com/oauth/v2/authorization";
            option.TokenEndpoint = "https://www.linkedin.com/oauth/v2/accessToken";
            option.UserInformationEndpoint = "https://api.linkedin.com/v1/people/~:(id,first-name,last-name,formatted-name,email-address,picture-url)";
            option.ClientId = "myClientID";
            option.ClientSecret = "myClientSecret";
            option.Scope.Add("r_basicprofile");
            option.Scope.Add("r_emailaddress");

            option.ClaimActions.MapJsonKey(ClaimTypes.NameIdentifier, "id", ClaimValueTypes.String);
            option.ClaimActions.MapJsonKey(ClaimTypes.Name, "formattedName", ClaimValueTypes.String);
            option.ClaimActions.MapJsonKey(ClaimTypes.Email, "emailAddress", ClaimValueTypes.Email);
            option.ClaimActions.MapJsonKey(ClaimTypes.GivenName, "firstName", ClaimValueTypes.Email);
            option.ClaimActions.MapJsonKey(ClaimTypes.Surname, "lastName", ClaimValueTypes.Email);
            option.ClaimActions.MapJsonKey(ClaimTypes.UserData, "pictureUrl", ClaimValueTypes.String);
        });

结果包含哪些声明?我怀疑这是一个索赔名称映射问题,所以最好看看LinkedIn返回了什么