[英]How to get the Azure AD User Group Name from User Name (Identity Name) in C# MVC .net core?
[英]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.