当前位置: 首页 > 编程语言 > C#

OpenIdConnectAuthenticationHandler-message.Stateisnullorempty分享

时间:2023-04-10 18:30:55 C#

OpenIdConnectAuthenticationHandler:message.Stateisnullorempty(设置为提供OpenId/OAuth2身份验证)。下面是代码:app.UseCookieAuthentication(newCookieAuthenticationOptions{AutomaticAuthenticate=true,AutomaticChallenge=true,AuthenticationScheme="ClientCookie",CookieName=CookieAuthenticationDefaults.CookiePrefix+"ClientCookie",ExpireTimeSpan=TimeSpan.FromMinutes(5),LoginPath=newPathString("/signin"),LogoutPath=newPathString("/signout")});app.UseOpenIdConnectAuthentication(newOpenIdConnectOptions{RequireHttpsMetadata=false,SaveTokens=true,ClientId="XYZClient_Id",ClientSecret="XYZ_ClientSecret",ResponseType=OpenIdConnectResponseType.Code,PostLogoutRedirectUri="https://example.com",Configuration=newOpenIdConnectConfiguration{AuthorizationEndpoint="https://CAM.COM/CloudAccessManager/RPSTS/OAuth2/Default.aspx",TokenEndpoint="https://CAM.COM/CloudAccessManager/RPSTS/OAuth2/Token.aspx",UserInfoEndpoint="https://CAM.COM/CloudAccessManager/RPSTS/OAuth2/User.aspx",Issuer="urn:CAM.COM/CloudAccessManager/RPSTS",}});但现在我被困了一个小时,我收到以下错误:SecurityTokenInvalidSignatureException:IDX10500:Signaturevalidationfailed.ThereisnosecuritykeytoverifythesignatureandI'mgettingurl查询字符串中的代码和状态https://example.com/signin-oidc?code=somecode&state=somestate任何类型的指导表示赞赏。更新以添加发行者签名密钥:TokenValidationParameters=newTokenValidationParameters{IssuerSigningKey=newSymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration.GetValue("AppSettings:ClientSecret")))}您看到的错误是由于您没有使用OIDC中间件提供的OpenIDConnect提供程序配置发现功能,该功能允许它检索用于签署身份令牌。如果您的提供商支持此功能,请删除整个配置节点并改为设置权限。所有端点都应自动为您注册。如果它不支持此功能,则必须手动将签名密钥添加到OpenIdConnectOptions.TokenValidationParameters。IssuerSigningKeys。以上就是C#学习教程的全部内容:OpenIdConnectAuthenticationHandler:message.Stateisnullorempty。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: