繁体   English   中英

C# - 从 Azure AD 获取组信息

[英]C# - Get group info from 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();

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

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

根据官方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();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM