gpt4 book ai didi

azure - 在 JWT token 中包含 AAD 组名称

转载 作者:行者123 更新时间:2023-12-02 08:32:13 25 4
gpt4 key购买 nike

是否可以选择在 AAD 颁发的 JWT token 中包含 AAD 组名称(显示名称)而不是对象 ID?如果是 - 怎么办?


"family_name": "Smith",
"given_name": "John",
"groups": [
"0e1cbc5f-94bc-4c3b-a22b-a4c56bbdbd7d", // <- replace id with name
"9762d7ea-c0a9-4543-8a3e-2459e826a35a"
],

一些背景:我正在使用 AAD 为 API 实现 OAuth。我配置了 2 个服务主体(1 个用于 API,1 个用于客户端)并添加了委派和应用程序权限。我还配置了可选的组声明来接收组列表。这一切似乎都有效,我在两种情况下获得了带有组 ID 的 JWT token :授权代码和客户端凭据。

在 API 实现中,我需要根据 AAD 组成员身份过滤数据。示例:我有一个 AAD 组“Company1Users”,并且想要应用过滤器:“where company=Company1”。使用 groupId,我需要在应用程序中维护额外的映射 (AADGroupId=Company1) 或对图形 API 进行额外的调用,这是我希望避免的。

最佳答案

Include AAD group name in the JWT token

简而言之,你无法通过代币获得它们。

正如您所注意到的,您只能获得 id。通常这很好,因为 id 不能更改,这与可以更改的名称不同。

此外,还可以发出包含限定域 sAMAccountName 的组和角色声明。而不是组的 Azure Active Directory objectID。但是,sAMAccountName 仅适用于从 Active Directory 同步的组对象。它们不适用于在 Azure Active Directory 或 Office365 中创建的组。

如果你想基于组进行授权,可以在配置文件中设置id,然后根据id进行检查。如果您需要将名称用于其他目的,则需要从 Microsoft Graph API 查询组。您可以找到API文档here .

关于azure - 在 JWT token 中包含 AAD 组名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59873599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com