使用Graph API删除B2C用户报权限不足,如何查找应用注册关联服务主体
问题根因
Directory.ReadWrite.All应用权限仅支持对无高权限目录角色的普通用户执行基础读写操作,删除用户操作需要应用关联的服务主体具备对应的目录管理角色权限,你提到的User Administrator角色即可覆盖普通用户的删除需求。
查找服务主体及配置角色操作步骤
- 登录Azure门户并切换到你的B2C租户,进入Azure AD管理中心
- 方式一:从应用注册入口进入
- 左侧导航选择「应用注册」,找到你正在使用的后台应用注册条目,进入概要页
- 找到概要页中受管理的应用程序中的本地应用字段,点击后方的蓝色名称链接,直接跳转至对应的服务主体详情页
- 方式二:从企业应用入口进入
- 左侧导航选择「企业应用程序」,筛选所有应用程序,搜索你的应用注册名称,搜索结果中的对应条目就是关联的服务主体,点击进入详情页
- 分配User Administrator角色
- 进入服务主体详情页后,左侧导航选择「角色和管理员」
- 点击页面顶部的「添加分配」按钮,搜索并选中
User Administrator角色,点击下一步 - 确认分配对象为当前服务主体后,点击「分配」完成配置
权限配置完成后需要等待15-30分钟生效,期间调用接口仍会返回权限不足错误,生效后即可正常执行删除操作。
代码说明
你现有的删除调用代码无需调整,权限生效后直接运行即可:
await graphClientB2C.Users[b2cUserId].Request().DeleteAsync();
内容的提问来源于stack exchange,提问作者Vivek N
相关产品推荐
相关产品推荐

