【发布时间】:2016-08-15 07:15:00
【问题描述】:
我们在 MEAN 堆栈中开发了应用程序。我们正在使用 adal-angular 库进行 azure 广告身份验证。根据documentation and sample
Adal.js 使用 OAuth 隐式流与 Azure AD 进行通信。你 必须为您的应用程序启用隐式流。
但是,当我们启用隐式流时,Azure AD 不会在令牌中包含组信息。该问题已在here 详细讨论并由@vibronet 确认
问题
Azure AD 功能几乎每天都在变化,那么上述答案是否仍然有效?我们还需要启用应用程序的隐式流吗?我想在令牌中获取组信息(我不想使用图形 api 作为解决方案。)
我问这个问题的另一个原因是我禁用隐式流程并且用户仍然能够访问该应用程序。但是我仍然没有在令牌中看到 group 信息。
【问题讨论】:
-
您是否在应用程序清单中启用了组声明?为避免使用 GraphAPI,您将如何保证您的用户的组数永远不会超过令牌中允许的最大值?
-
假设这也是你:social.msdn.microsoft.com/Forums/en-US/…,我看到你有。你看过原始的
id_token(例如使用 jwt.io 之类的东西)吗? -
@PhilippeSignoret 是的,就是我。如果 azure 从未在令牌中包含该信息,则不确定 jwt.io 将如何帮助我。我们还在解析和验证令牌的服务器上使用“passport-azure-ad”
-
在论坛帖子中,您提出 也许 Azure AD 不会返回组。查看原始令牌可以让您确认它是否包含组(因此是库正在删除它们)。看来您已经确认不是。
-
是的,我验证了 JWT 令牌,我已将 groupMembershipClaims" 配置为 "SecurityGroup"。当我这样做时,我得到了额外的属性 "hasgroup=true" 但不是实际的组 ID
标签: adal azure-active-directory