什么是从WAAD获取用户群体最简单的方法?(What's the simplest way

2019-10-21 09:59发布

我有AngularJS和Web.API WAAD认证启动和运行。 对于客户端我用大图书馆ADAL.JS 。 对于后端我使用Microsoft.Owin.Security.OAuth 。 这部分就比较顺利。

现在,我想基于角色(将被映射到WAAD组)实现授权。 组不包括在认证令牌,所以我必须要问Azure的图形API他们。 只见各种方式做到这一点,使用自定义声明提供,增加网络服务项目等一些例子已经提供了组和角色之间的映射在使用[Authorize]属性。

但是,仅仅是如何让用户提供ID或用户名组ID /从WAAD名称列表最简单的例子,当我已经验证?

此外,有没有什么办法让在这个JS数据角前端使用,或者我应该创建哪些角应该呼吁的角色信息的API服务?

Answer 1:

在非JS的情况下,获得团体令牌的最简单方法是在选择加入。下载你的应用程序的清单,找到“groupMembershipClaims”项,将其值改为“SecurityGroup”或“全部”,上传回的清单。 但是请注意,这不会对您的方案工作,因为它采用了隐式格兰特 - 这里的令牌是在URI片段返回,因此大的令牌会冒险吹过去的浏览器的URL长度的限制。 您可以随时请求组图形,并使其可通过您的API自定义操作的前端,但是从你写你已经熟悉。 让我在这里讨论这个问题 - 如果有一个更简单的途径,以使方向这工作,我会回到这个主题。 HTH五更新:我验证和隐含的授予情况下,你总是会接收组通过超龄要求。 请参考https://github.com/AzureADSamples/WebApp-GroupClaims-DotNet/tree/master/WebApp-GroupClaims-DotNet -它会告诉你如何处理超龄要求取回组。 所有你需要做的是适用于网络API相同的指导,而不是,如果你需要使信息提供给客户端暴露一个或多个动作这样做。



文章来源: What's the simplest way to get user Groups from WAAD?