解决AADB2C90068错误:Graph创建的应用ID不被B2C服务识别
解决Azure AD B2C应用ID不被识别的问题
问题根源
你通过Graph API创建的是普通Azure AD(企业租户)应用,而非Azure AD B2C专用应用。B2C服务仅识别在B2C租户下创建、且符合B2C配置要求的应用,普通AAD应用无法在B2C授权流程中使用。
修复步骤
1. 确认并创建正确的B2C应用
- 若之前是在普通AAD租户下创建的应用,直接弃用,重新在Azure AD B2C租户内创建应用:
- 方式一:通过Azure AD B2C门户创建(最直观,不易出错)。
- 方式二:使用Graph API创建时,必须确保:
- 请求的是B2C租户的Graph端点(
https://graph.microsoft.com/v1.0/,需切换到B2C租户上下文)。 - 创建应用时设置
signInAudience属性为AzureADandPersonalMicrosoftAccount或PersonalMicrosoftAccount(不能是AzureADMyOrg)。
- 请求的是B2C租户的Graph端点(
2. 修正授权请求URL
你的请求URL存在格式错误,正确的B2C授权端点格式如下:
https://<TenantName>.b2clogin.com/<TenantName>.onmicrosoft.com/<SignInPolicyName>/oauth2/v2.0/authorize?client_id=<YourClientID>&response_type=code&scope=https://<TenantName>.onmicrosoft.com/node-api/<YourAccessPolicyName> offline_access openid&redirect_uri=https%3A%2F%2Fjwt.ms
需要修正的错误点:
- 端点域名必须是
<TenantName>.b2clogin.com,而非你当前使用的https://<TenantID>/<TenentName>.onmicrosoft.com/格式。 - 参数分隔符是单个
&,你写了&&,会导致参数解析错误。 - Scope开头多了一个
/,需删除,确保scope路径正确。
3. 验证应用配置
- 检查B2C应用的
redirect_uri是否与请求中的redirect_uri完全匹配(包括URL编码、大小写)。 - 确保该应用已关联你在URL中指定的B2C用户流/自定义策略(即
<SignInPolicyName>对应的策略)。
内容的提问来源于stack exchange,提问作者Shanthi B
相关产品推荐
相关产品推荐

