排查MSAL认证报错AADB2C90068:应用无效问题
解决AADB2C90068错误的排查与修复步骤
AADB2C90068错误核心是当前使用的应用未被Azure AD B2C租户认可,以下是具体排查方向和修复方法:
1. 确认应用是在Azure AD B2C门户创建的
- 登录Azure门户,切换到你的B2C租户(顶部租户切换器选择对应B2C租户)
- 进入Azure AD B2C服务,查看应用注册列表,确保你的测试应用是在这里创建的,而非普通
Azure Active Directory服务下的应用注册。普通Azure AD应用无法用于B2C认证流程,若选错位置,需重新在B2C门户创建应用。
2. 修正MSAL配置中的Authority URL
你的代码中使用的Authority指向了Token端点,这不符合MSAL的B2C配置要求:
// 错误格式:包含了token路径 private static string authority = "https://xxxx.b2clogin.com/tfp/xxxx.onmicrosoft.com/B2C_1_auth.xxxxx/oauth2/v2.0/token";
正确的Authority格式应为B2C策略的基础地址,无需追加token端点:
// 正确格式:仅租户+策略名 private static string authority = "https://xxxx.b2clogin.com/xxxx.onmicrosoft.com/B2C_1_auth.xxxxx";
MSAL会自动根据上下文生成对应的授权、token等端点,手动指定token端点会导致B2C无法识别应用的合法性。
3. 验证客户端ID的正确性
- 回到B2C应用注册页面,复制应用程序(客户端)ID(注意不是对象ID或目录ID)
- 确保代码中
clientId的值与该ID完全一致,无多余空格或字符。
4. 配置匹配的重定向URI
代码中使用了http://localhost作为重定向URI,需在B2C应用注册中完成配置:
- 进入应用注册的身份验证页面,点击添加平台
- 选择移动和桌面应用,在重定向URI列表中添加
http://localhost,保存配置。
5. 确认应用权限配置无冲突
- 进入应用注册的API权限页面,确保没有添加不属于B2C的权限(如普通Azure AD的Graph权限)
- 若使用自定义策略,需确认应用已被授权使用该策略(默认创建的应用无需额外配置,但可检查策略的应用关联设置)
完成以上步骤后,重新运行你的MSAL认证代码,应该能正常触发B2C的身份提供商选择界面。
内容的提问来源于stack exchange,提问作者justalearningguy
相关产品推荐
相关产品推荐

