Las*_*nal 1 jwt azure-active-directory
登录 Native App 时获取的 JWT 不会发出登录 Web App 时获取的 JWT 所发出的“groups”节点。
两个应用程序注册都配置为发出组 “groupMembershipClaims”:“SecurityGroup”
这是一个隐式授权方案
更新
这适用于希望稍后了解解决方案的任何人。
从@LastTribunal 获得更多信息后,结果发现使用了 3 个独立的应用程序(一个 Web 应用程序 SPA、一个基于 .NET 的本机应用程序和一个 Web api)。第三个应用程序的清单,即缺少 web api"groupMembershipClaims": "SecurityGroup"
底线:即使从本机应用程序获取令牌以访问 Web api,只要 Web api 的清单配置正确,访问令牌就会包含组声明。
这是@LastTribunal 所关注的示例的链接,并且对于本机应用程序存在问题。使用交互式身份验证将 Azure AD 集成到 Windows 桌面应用程序中
初步答复
您正在检查的用户可能属于 6 个或更多组。在隐式授权流的情况下,如果完整组声明会将 URI 片段扩展到 URL 长度限制之外,Azure AD 会向您发送超额声明而不是“组”声明。
因此,您可能会通过诸如“hasgroups”或“groups:src1”之类的声明获得超额指标,具体取决于令牌的长度是否会成为问题。
例如,在单页应用程序 (SPA) 的情况下,您将得到“hasgroups”声明,而在使用 ADAL.NET 库的基于 .NET 的本机应用程序的情况下,令牌长度不是问题,我已经看到“组:src" 用于超龄指示。
基本上,您会得到一个提示,即用户属于许多组(目前很多是指 6 个或更多),您必须再次调用以获取有关该用户所属的所有组的信息。
Microsoft 文档:链接
| 归档时间: |
|
| 查看次数: |
314 次 |
| 最近记录: |