从Azure令牌解析用户组信息?

问题描述:

我正在使用Angular JS,现在我需要使用Azure AD SSO来验证我的应用程序。从Azure令牌解析用户组信息?

目前,我实现了与adal-angular相同。现在,除了我的要求,我需要解析用户组信息,其中包括我成功验证后获得的令牌(我将该令牌传递给后端服务,并且我需要解析它)

我来了解该天蓝色adal-angular实现不发送组信息,参考可用here

  • 1-是否有任何方式从当前实现获取用户组信息?
  • 2-是否有可用的库而不是adal-angular?
  • 3-我可以使用由azure adal-angular提供的JWT令牌调用图API以获取组信息?

任何建议,请提前致谢。

您可以在AAD中的应用程序清单中将groupMembershipClaims设置为“SecurityGroup”或“All”,然后您可以在id令牌中获得用户的组成员身份(这会为您提供用户名等)。有关更多详情,请参阅document

请参考代码示例:https://github.com/Azure-Samples/active-directory-angularjs-singlepageapp。为了让组声明,更新UserData.html得到集体的ID:

Microsoft Graph API
<p ng-repeat="value in userInfo.profile.groups">{{value}}</p> 

另一种方式是让组成员:

POST https://graph.microsoft.com/v1.0/me/getMemberGroups 
Content-type: application/json 
Content-length: 33 

{ 
    "securityEnabledOnly": true 
} 

对于如何调用Azure的AD保护的Web API(微软曲线图你的场景)在AngularJS单页应用程序中。请参考代码示例:https://github.com/Azure-Samples/active-directory-angularjs-singlepageapp-dotnet-webapi