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

时间:2017-10-11 05:59:02

标签: angularjs azure single-sign-on azure-active-directory adal

我正在使用 Angular JS ,现在我需要使用 Azure AD SSO 对我的应用进行身份验证。

目前,我使用 adal-angular 实现了相同的功能。现在除了我的要求之外,我需要从成功认证后获得的 JWT 令牌解析用户组信息(我将此令牌传递给我的后端服务,我需要解析它)

我发现azure adal-angular实现没有发送组信息,可用参考here

  • 1 - 有没有办法从当前实施中获取用户组信息?
  • 2 - 是否有可用的库而不是adal-angular?
  • 3 - 我可以调用图形API来使用由azure adal-angular提供的JWT令牌来获取组信息吗?

请提出任何建议,并提前致谢。

1 个答案:

答案 0 :(得分:2)

您可以将groupMembershipClaims设置为" SecurityGroup"或"所有"在您的应用在AAD中显示,然后您就可以收到用户' id令牌中的组成员身份(为您提供用户名称等)。有关详细信息,请参阅document

请参阅代码示例:https://github.com/Azure-Samples/active-directory-angularjs-singlepageapp。要获取群组声明,请更新UserData.html以获取群组ID:

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

另一种方法是从Microsoft Graph API获取群组成员资格:

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

{
  "securityEnabledOnly": true
}

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