You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Framework 7.4.2中Owin OpenId连IdentityServer报IDX21323错误

问题原因及解决方案:IDX21323 Nonce验证失败

问题原因

  • 流配置冲突:你当前使用的是隐式流(ResponseType = "id_token token"),但配置中启用了RedeemCode = true和UsePkce = true——这两个参数仅适用于授权码流(response_type=code)。这种配置冲突会导致Owin的OpenIdConnect中间件逻辑异常,无法正确存储和读取nonce值。
  • Nonce存储/读取异常:当中间件因配置混乱无法将请求时生成的nonce保存到Cookie中,IdentityServer返回包含nonce的id_token后,客户端无法从Cookie中匹配对应的nonce,从而触发IDX21323验证错误。

解决方案

1. 修正流配置参数

移除隐式流不支持的配置项,调整后的代码如下:

app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions
{
    AuthenticationType = "oidc",
    SignInAsAuthenticationType = "cookies",

    Authority = "https://test-c.test.com/IdentityServer/",

    ClientId = "test.app",
    ClientSecret = "2VzvldfHrQ30ddas7qJUUeXSGt6CBddGTLCQ+djUQUQ=",

    RedirectUri = "http://localhost/test/",
    PostLogoutRedirectUri = "http://localhost/test/",

    ResponseType = "id_token token",
    Scope = "openid test.api",

    UseTokenLifetime = false,
    SaveTokens = true,
    // 隐式流不需要以下两个参数,设置为false
    RedeemCode = false,
    UsePkce = false,

    // 明确配置nonce验证规则
    TokenValidationParameters = new TokenValidationParameters
    {
        ValidateNonce = true
    },

    // 确保协议验证器开启nonce检查
    ProtocolValidator = new OpenIdConnectProtocolValidator
    {
        RequireNonce = true
    }
});

2. 确保Cookie认证中间件配置正确

确认Cookie认证中间件已正确注册,且配置符合要求:

app.UseCookieAuthentication(new CookieAuthenticationOptions
{
    AuthenticationType = "cookies",
    // 生产环境建议启用Secure、HttpOnly等安全配置
    CookieSecure = CookieSecureOption.SameAsRequest,
    CookieHttpOnly = true
});

3. 可选:切换到授权码流(推荐)

隐式流安全性较低,IdentityServer官方推荐使用授权码流。若要切换,调整以下配置:

  • 将ResponseType = "code"
  • 保留RedeemCode = true和UsePkce = true
  • 确保IdentityServer客户端配置中已启用授权码流

参考文档提示

  • Owin OpenIdConnect中间件文档:重点关注不同OAuth2/OpenID Connect流的配置参数差异
  • IdentityServer文档:查看nonce参数的使用规范,以及各授权流的参数要求

内容的提问来源于stack exchange,提问作者Andrea Porcello

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 10:17:25