Azure B2C通过Graph API修改非登录用户密码权限不足,需添加哪些权限?
你使用客户端凭证模式调用Microsoft Graph更新Azure AD B2C用户密码时触发权限不足报错,需按以下要求配置权限:
必须添加的Microsoft Graph应用权限
注意:必须选择应用权限类型,不能使用委托权限,添加完成后必须点击「授予管理员同意」才会生效
User.ReadWrite.All:覆盖普通用户的密码更新场景,绝大多数情况下添加该权限即可解决问题Directory.ReadWrite.All:如果你需要修改持有全局管理员、用户管理员等高权限角色的用户密码,需要额外添加该权限
高权限用户修改额外配置
如果更新的是管理员角色用户的密码,除上述权限外,还需要给你的应用注册分配目录角色:
- 进入Azure AD B2C管理中心的「角色和管理员」页面
- 找到「用户管理员」角色,将你的应用注册添加为该角色的成员
- 角色分配后需等待15-30分钟生效
可选代码优化
如果后续遇到密码复杂度校验报错,可以在构造User对象时新增密码策略配置:
User user = new User() { PasswordProfile = new PasswordProfile { Password = "123456aaA@", ForceChangePasswordNextSignIn = false, ForceChangePasswordNextSignInWithMfa = false }, // 按需配置密码策略,可关闭强密码校验/密码过期校验 PasswordPolicies = "DisableStrongPassword, DisablePasswordExpiration" };
内容的提问来源于stack exchange,提问作者Epic
相关产品推荐
相关产品推荐

