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