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

为何Identity Server 4的POST /connect/token接口未收到acr_values参数

关联现有租户用户身份验证时acr_values参数未传递解决方案

问题根因

acr_values是OpenID Connect协议的可选请求参数,用于向身份提供商传递租户标识、认证强度等自定义上下文,所有主流租户身份系统都不会自动生成该参数,必须在构造认证请求时显式声明。

修复方案

根据你使用的技术栈选择对应配置方式:

  • 后端集成(以ASP.NET Core为例):在OpenID Connect认证事件的重定向阶段手动注入参数
builder.Services.AddAuthentication()
    .AddOpenIdConnect("tenantOidc", options =>
    {
        options.Authority = "你的身份提供商地址";
        options.ClientId = "你的客户端ID";
        // 其余基础配置省略
        options.Events.OnRedirectToIdentityProvider = context =>
        {
            // 传入你要关联的租户标识等自定义acr值
            context.ProtocolMessage.SetParameter("acr_values", "tenant:你的现有租户ID");
            return Task.CompletedTask;
        };
    });
  • 前端集成(以auth0.js、oidc-client-js为例):构造登录请求时显式传入参数
// oidc-client-js示例
const userManager = new UserManager(settings);
userManager.signinRedirect({
  acr_values: "tenant:你的现有租户ID"
});

验证方式

修改配置后,在浏览器开发者工具的「网络」标签页,过滤身份提供商授权端点(通常路径为/authorize)的请求,查看请求参数中是否包含acr_values及对应值即可确认配置是否生效。
问题相关截图:
acr_values参数缺失请求示例

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 05:54:07