Azure AD B2C用OpenID Connect遇AADB2C90238错误求解决
针对AADB2C90238错误的解决方案
一、查看令牌发行者的方法(非自定义策略场景)
- 浏览器抓包提取令牌:打开F12进入「网络」标签,执行用户流后筛选包含
id_token的回调请求,从URL哈希参数或POST表单数据中提取令牌,用本地JWT解码工具(如离线插件、本地解码脚本)解析,查看iss字段的值。 - 临时搭建本地调试页面:创建简单HTML页面,接收回调并打印URL中的
id_token,解析后查看发行者信息。
二、核心错误修复方案
AD B2C用户流无法关闭发行者验证,这是内置安全机制,需从根源解决发行者不匹配问题:
- 核对OIDC元数据端点:确认AD B2C中配置的身份提供商「元数据地址」正确,访问该地址后查看
issuer字段,确保和令牌中的iss完全一致(注意大小写、斜杠结尾等细节)。 - 检查身份提供商配置:部分OIDC提供商允许自定义发行者值,确认其发行的令牌
iss与元数据端点返回的issuer完全匹配,避免测试/生产环境混淆导致的差异。 - 确认AD B2C配置:不要手动修改AD B2C身份提供商的发行者字段,用户流会自动从元数据地址拉取正确值,手动修改易引发不匹配。
三、额外排查项
- 确认身份提供商环境一致性:避免配置测试环境元数据地址,但实际请求生产环境令牌的情况。
- 验证令牌签名:通过JWT签名验证确认令牌未被篡改,排除伪造令牌导致的发行者错误。
内容的提问来源于stack exchange,提问作者Donny Kwitty
相关产品推荐
相关产品推荐

