调用Azure AD B2C Graph API创建用户报属性不存在如何排查
问题定位排查步骤
- 先校验核心配置项的取值合法性,这是触发该空资源报错的最高频原因:
- 检查
AadB2CConfiguration.TenantId取值:Identities.Issuer字段必须填写B2C租户的完整域名(格式为xxx.onmicrosoft.com),如果填写了租户的GUID值,会直接触发该无资源名的找不到报错 - 检查
AadB2CConfiguration.ExtensionsID取值:扩展属性前缀需要使用注册扩展属性的应用注册的无短横线格式的应用ID,如果原取值带-没有做去除处理,生成的扩展属性名非法会触发报错 - 检查
AadB2CConfiguration.AadB2cGraphAuthority取值:必须为https://login.microsoftonline.com/<你的B2C租户域名>/v2.0,不能使用B2C用户流的自定义权威地址,也不能填错租户信息
- 检查
- 校验自定义扩展属性是否已完成注册:你代码中使用的
extension_{ExtensionsID}_GUID属性必须提前在B2C租户中完成注册(可通过B2C门户的「用户属性」模块或Graph API查询验证),未注册的扩展属性直接写入会触发资源找不到报错 - 校验应用权限:你使用的客户端凭证流对应的应用注册,必须已授予
User.ReadWrite.All的应用类型权限,且已经完成管理员同意操作,权限不足时也可能返回该模糊报错 - 最小场景验证:注释掉
AdditionalData相关代码,不写入扩展属性直接发起用户创建请求,如果可以创建成功则问题确定出在扩展属性相关配置,如果仍报错则问题出在身份认证或租户基础配置上
内容的提问来源于stack exchange,提问作者user9496615
相关产品推荐
相关产品推荐

