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

Parse user group information from Azure token?

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

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

才知道azure adal-angular实现是不发送组信息的,可以参考here

有任何建议请提前致谢。

您可以在 AAD 的应用程序清单中将 groupMembershipClaims 设置为 "SecurityGroup" 或 "All" ,然后您可以在 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(您的方案中的 Microsoft 图形)。请参考代码示例:https://github.com/Azure-Samples/active-directory-angularjs-singlepageapp-dotnet-webapi