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

如何使用OIDC搭建多租户Azure AD SSO并解决BAD ISSUER报错

Azure多租户应用注册OIDC签发者不匹配问题解决方案

首先明确结论:该报错属于多租户应用的预期设计,既不是配置遗漏,也不是Azure不符合OIDC标准。

我所需实现方案的简要架构

问题根因

/common是Azure AD提供的多租户聚合端点,仅用于路由不同租户的认证请求,本身不承担令牌签发职能:当用户使用企业账号登录时,Azure会自动跳转至用户所属租户的认证端点完成身份校验,最终返回的令牌iss字段为用户所属租户的唯一标识,自然和common不匹配,触发签发者校验错误。

修复方案

  • 如果你使用微软官方认证SDK(如MSAL):无需额外修改配置,SDK默认适配多租户场景的动态签发者校验逻辑,直接使用/common端点即可自动完成不同租户令牌的合法性校验。
  • 如果你自研OIDC认证流程:
    1. 关闭固定签发者校验规则,改为动态校验逻辑:先提取返回令牌中的iss字段,再拼接对应租户的OIDC元数据地址https://login.microsoftonline.com/{租户ID}/v2.0/.well-known/openid-configuration,拉取对应租户的公钥和标准签发值完成校验
    2. 可额外添加租户允许列表逻辑,仅放行你授权的企业租户签发的令牌,避免未授权租户用户登录

标准符合性说明

OIDC核心规范未要求认证配置端点的路径必须和令牌签发者一致,该动态签发者设计是专门针对多租户身份服务场景的标准兼容实现,符合OIDC规范要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 23:27:03