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

Asp.NET Core OIDC授权码流出现Correlation failed异常求助

Asp.NET Core OIDC Code流单点登录问题:Correlation failed异常与无限重定向循环

错误信息

顶级异常:

Exception: Correlation failed.
            Unknown location

异常来源:Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler<TOptions>.HandleRequestAsync()

原始异常:

System.Exception: Correlation failed.

问题现象

网站陷入以下三者的无限重定向循环:

  • 网站回调地址:signin-oidc?code=...
  • 需要授权的目标页面
  • SSO授权地址:authorize?client_id=...

排查与解决步骤

1. 验证Correlation Cookie配置

OIDC的Correlation机制依赖Cookie传递状态,需确保:

  • 网站与SSO服务的域名/端口匹配,或已配置正确的Cookie跨域策略
  • CookiePolicyOptions中SameSite属性设为Lax或None(跨域场景),生产环境需启用Secure属性
  • 检查OIDC配置的CorrelationCookie属性,确认路径、域名设置正确

2. 核对OIDC核心配置参数

  • 确认ClientId、ClientSecret与SSO服务端配置完全一致
  • 回调地址CallbackPath(默认/signin-oidc)必须在SSO服务的允许回调列表中,且路径大小写完全匹配
  • 验证ResponseType设置为code(符合Code流要求),SaveTokens设为true

3. 检查授权策略与路由规则

  • 目标页面的[Authorize]授权策略配置正确,避免因策略不匹配导致授权失败后重复重定向
  • 排查路由规则是否冲突,确保回调地址能被OIDC中间件正确捕获处理

4. 启用认证日志定位问题

在appsettings.json中添加日志配置,查看Correlation ID的生成、传递与验证细节:

{
  "Logging": {
    "LogLevel": {
      "Microsoft.AspNetCore.Authentication": "Debug"
    }
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 01:37:35