首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ADAL查询安全组

ADAL查询安全组
EN

Stack Overflow用户
提问于 2018-04-09 18:16:53
回答 2查看 505关注 0票数 0

我有一个系统,通过网页api登录到本地wpf应用程序。

代码语言:javascript
复制
AuthenticationContext authContext = new AuthenticationContext(string.Format("https://login.windows.net/{0}", authority));
AuthenticationResult tokenAuthResult = authContext.AcquireTokenAsync(resource, clientId, new Uri(redirectUri), new PlatformParameters(PromptBehavior.Auto)).Result;

if (tokenAuthResult == null) return;          

Credentials.RestCredentials = new TokenCredentials(tokenAuthResult.AccessToken);

Credentials.UserName = string.Concat(tokenAuthResult.UserInfo.GivenName, " ", tokenAuthResult.UserInfo.FamilyName);

这一切都很完美,返回令牌等等。用户都在ADAL中,并有与他们相关的组(这些都是O365用户)。我希望能够查询登录的用户关联组是什么。我需要使用Graph发出一个新的调用吗?我是否使用返回的令牌?我有点迷路了。预先谢谢斯科特

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-09 18:29:40

一个简单的方法是进入Azure中的应用程序注册,单击Manifest,并修改groupMembershipClaims属性:

代码语言:javascript
复制
"groupMembershipClaims": "SecurityGroup",

这将导致包含用户组Id的Id令牌。它确实有一个限制,但只能包含一定数量的组,在这种情况下,您必须从Graph获得它们。

下面是在这种情况下需要调用的端点:https://msdn.microsoft.com/en-us/library/azure/ad/graph/api/functions-and-actions#getMemberGroups

票数 0
EN

Stack Overflow用户

发布于 2018-04-25 09:59:20

为了添加到@juunas的答案,下面的示例活动目录-dotnet-webapp-groupclaims详细解释了一些事情。

特别是,步骤3:将应用程序配置为接收组索赔解释了清单中的应用程序配置。

还请参阅与https://learn.microsoft.com/en-us/azure/active-directory/develop/active-directory-token-and-claims#claims-in-idtokens中的组相关的声明

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49739216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档