Azure AD B2C自定义OIDC IDP集成React Native App Auth报错排查
排查Azure AD B2C集成自定义OIDC身份提供商(STG QPASS)时的AADB2C90289错误
以下是针对该错误的核心排查方向:
1. 验证OIDC技术配置与IDP发现文档的一致性
- 核对TrustFrameExtensions中OIDC技术配置文件的
AuthorizationEndpoint、TokenEndpoint、UserInfoEndpoint,确保与IDP发现URL(.well-known/openid-configuration)返回的对应字段完全匹配,重点检查HTTP/HTTPS协议、端口、路径拼写是否存在差异。 - 确认配置的
Issuer值,必须与IDP返回的ID Token中的iss声明完全一致。
2. 检查ID Token的格式与签名有效性
- 解码Postman获取的示例ID Token,确认:
- 签名算法与B2C配置的
SigningAlgorithm一致(如RS256/HS256) - 包含OIDC必填声明:
sub、iss、exp、iat - 使用IDP提供的公钥验证ID Token签名是否有效,排除签名伪造或算法不兼容问题。
- 签名算法与B2C配置的
- 若ID Token采用JWE加密,需确认B2C已配置对应的解密密钥,且IDP已启用对B2C客户端的加密返回设置。
3. 重定向URL全链路一致性检查
- 确认IDP注册的重定向URL,与B2C技术配置文件中的
RedirectUri完全一致,注意大小写、路径结尾斜杠等细节。 - 核对React Native App Auth配置的
redirectUri,是否与B2C策略中注册的应用重定向URL完全匹配,确保端到端重定向链路无偏差。
4. 分析Azure App Insights关联日志
- 定位Correlation ID
9aabe384-77c6-4fe6-8943-8d0f22d827bd对应的详细日志,重点关注:- IDP返回的错误代码或描述(通常在
identityProviderResponse字段中) - B2C调用TokenEndpoint时的请求/响应状态码(是否存在4xx/5xx错误)
- 签名验证失败的具体原因(如公钥不匹配、算法不支持)
- IDP返回的错误代码或描述(通常在
5. 客户端凭据与权限配置验证
- 确认B2C技术配置中的
ClientId、ClientSecret(若使用)与IDP注册的客户端信息完全一致,检查ClientSecret是否过期、是否存在特殊字符未转义。 - 验证IDP是否为B2C客户端授予了
openid、profile等OIDC基础权限。
6. React Native App Auth配置细节检查
- 确认
authorizationEndpoint指向B2C策略端点,格式应为:https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/authorize,而非直接指向IDP端点。 - 检查
additionalParameters是否正确配置了p参数,指定对应的B2C自定义策略名称。
内容的提问来源于stack exchange,提问作者key2learn
相关产品推荐
相关产品推荐

