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

LP1*_*P13 4 azure-active-directory adal

我们在MEAN堆栈中开发了应用程序.我们使用adal-agular库进行azure广告验证.根据文档和示例

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

但是,当我们启用隐式流时,Azure AD 不会在令牌中包含组信息.这个问题已经在这里详细讨论并由@vibronet确认

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

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

Las*_*nal 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));
Run Code Online (Sandbox Code Playgroud)

不需要GraphApi

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