C# - 从 Azure AD 获取组信息



我正在使用 Azure AD 登录名,以便应用使用Microsoft凭据登录并获取用户所属的组(及其信息(。

通过这一行,我能够获取登录用户:var userClaims = User.Identity as System.Security.Claims.ClaimsIdentity;

通过这一行,我能够获取用户所属的组:var groups = userClaims?.Claims.Where(claim => claim.Type == "groups").Select(c => c.Value);

现在我正在尝试集成 Microsoft.Graph,以便我可以获取组的信息(我只需要组的显示名称(。

我正在使用以下代码:

GraphServiceClient graphClient = new GraphServiceClient(new DelegateAuthenticationProvider((requestMessage) => {
requestMessage
.Headers
.Authorization = new AuthenticationHeaderValue("Bearer");
return Task.FromResult(0);}));
var group = graphClient.Groups[g].Request().GetAsync();

这不起作用,或者我似乎无法弄清楚如何读取组变量的属性。

有什么简单的方法可以获取群组的信息吗?

根据官方 ms 图,您可以通过以下方式获取组显示名称

GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var groups = await graphClient.Groups
.Request()
.GetAsync();

另一个解决方法如下:

var graphClient = GraphUtility.CreateGraphClient(accessToken);
var targetGroupCollection = await graphClient.Groups.Request()
.Filter($"startsWith(displayName,'{groupName}')")
.GetAsync();

相关内容

  • 没有找到相关文章

最新更新