Azure AD:如何在令牌中获取组信息?

时间:2016-04-21 21:11:39

标签: adal azure-active-directory

我们在MEAN堆栈中开发了应用程序。我们正在使用adal-agular库进行azure广告验证。根据{{​​3}}

  

Adal.js使用OAuth隐式流与Azure AD进行通信。您   必须为您的应用程序启用隐式流程。

但是,当我们启用隐式流时,Azure AD 不会在令牌中包含组信息。该问题已经详细讨论documentation and sample并由@vibronet

确认

问题
Azure AD功能几乎每天都在变化,上述答案仍然有效吗?我们是否还必须启用应用程序的隐式流程?我想在令牌中获取组信息(我不想使用图形api作为解决方案。)

我问这个问题的另一个原因是因为我禁用隐式流程,用户仍然可以访问该应用程序。但是,我仍然没有在令牌中看到信息。

1 个答案:

答案 0 :(得分:5)

Azure AD JWT 确实在隐式流中发出安全组。 在应用程序注册清单中,设置"groupMembershipClaims": "SecurityGroup"

然后在您的服务器中:

 var groups = new List<string>();
        ClaimsPrincipal.Current.Claims.Where(t => t.Type == "groups")
    .ForEach(g => groups.Add(g.Value));

不需要GraphApi

https://docs.microsoft.com/en-us/azure/architecture/multitenant-identity/app-roles https://github.com/Azure-Samples/active-directory-dotnet-webapp-groupclaims