使用 Active Directory 图形客户端删除 AAD B2C 中的用户
Posted
技术标签:
【中文标题】使用 Active Directory 图形客户端删除 AAD B2C 中的用户【英文标题】:Delete user in AAD B2C using Active directory graph client 【发布时间】:2018-05-30 10:05:47 【问题描述】:我已使用以下代码从 Azure 活动目录 B2C 中删除用户。
Uri servicePointUri = new Uri("https://graph.windows.net");
Uri serviceRoot = new Uri(servicePointUri, "xxxx.onmicrosoft.com");
var activeDirectoryClient = new ActiveDirectoryClient(serviceRoot, async () => await GetAccessToken());
var myUser = new Microsoft.Azure.ActiveDirectory.GraphClient.User()
ObjectId = "63ca9c1d-2bd0-4a6b-8bf6-b850b16ed50b"
;
await myUser.DeleteAsync();
但我得到了异常消息“未初始化”。
谁能告诉我这是什么问题?
【问题讨论】:
【参考方案1】:您可能必须先检索要删除的用户。例如:
var user = await Client.Users.Where(u => u.ObjectId.Equals("63ca9c1d-2bd0-4a6b-8bf6-b850b16ed50b"))).ExecuteSingleAsync();
await user.DeleteAsync();
【讨论】:
代码有效,但出现与权限不足相关的异常。 但是 GetAccessToken() 方法被调用了两次,1. 在创建 activeDirectoryClient 2. 在执行代码 DeleteAsync 时。是否可以重复使用正常行为和相同的令牌? 您可能缺乏权限。见:developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/… 您发布的链接指向 Microsoft Graph api (graph.microsoft.com) 但我使用的是 AAD graph api "graph.windows.net" 如果使用await
则不需要.Result以上是关于使用 Active Directory 图形客户端删除 AAD B2C 中的用户的主要内容,如果未能解决你的问题,请参考以下文章
使用证书的 Azure Active Directory 守护程序客户端
使用 Azure AD Graph 客户端获取 Active Directory 管理员
SCCM TP4部署前的Active Directory准备
Azure Active Directory 中的 URL 重定向