Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 从WAAD获取用户组的最简单方法是什么?_Angularjs_Azure_Asp.net Web Api_Active Directory_Azure Active Directory - Fatal编程技术网

Angularjs 从WAAD获取用户组的最简单方法是什么?

Angularjs 从WAAD获取用户组的最简单方法是什么?,angularjs,azure,asp.net-web-api,active-directory,azure-active-directory,Angularjs,Azure,Asp.net Web Api,Active Directory,Azure Active Directory,我已经启动并运行了AngularJS和Web.API WAAD身份验证。对于客户端,我使用伟大的库。对于后端,我使用。这部分进行得相当顺利 现在,我想基于映射到WAAD组的角色实现授权。组未包含在身份验证令牌中,因此我必须向Azure Graph API询问它们。我看到了各种方法,使用自定义声明提供程序,将web服务添加到项目中,等等。一些示例已经提供了要在[Authorize]属性中使用的组和角色之间的映射 但是,当我已经通过身份验证时,如何从提供用户ID或用户名的WAAD获取组ID/名称列表

我已经启动并运行了AngularJS和Web.API WAAD身份验证。对于客户端,我使用伟大的库。对于后端,我使用。这部分进行得相当顺利

现在,我想基于映射到WAAD组的角色实现授权。组未包含在身份验证令牌中,因此我必须向Azure Graph API询问它们。我看到了各种方法,使用自定义声明提供程序,将web服务添加到项目中,等等。一些示例已经提供了要在[Authorize]属性中使用的组和角色之间的映射

但是,当我已经通过身份验证时,如何从提供用户ID或用户名的WAAD获取组ID/名称列表的最简单示例是什么


另外,有没有办法在JS中获取这些数据以用于Angular前端,或者我应该创建一个Angular应该调用角色信息的API服务?

在非JS情况下,在令牌中获取组的最简单方法是选择in。下载应用程序的清单,找到“groupMembershipClaims”条目,将其值更改为“SecurityGroup”或“All”,然后上载回清单。 但是请注意,这对您的场景不起作用,因为它使用隐式授权-在这里,令牌以URI片段的形式返回,因此一个大令牌可能会超出浏览器的URL长度限制。 您始终可以请求图形中的组,并通过API上的自定义操作使其可供前端使用,但从您编写的内容来看,您已经熟悉了这一点。让我在这里讨论一下这个问题——如果有一个更简单的方法在水疗中心工作,我会回到这个主题。 嗯 v
更新:我已验证,在隐式授权案例中,您将始终通过超额索赔接收组。请参阅-它将向您展示如何处理超额索赔以检索组。您只需对web API应用相同的指导,如果需要向客户端提供信息,请公开一个或多个操作。

谢谢您的回答。我希望我能在下周初试一试。如果没有,那么我会在一月份再讨论它,并告知它是否有效。