gpt4 book ai didi

azure-active-directory - 如何验证用户是否属于 Azure AD 中的组?

转载 作者:行者123 更新时间:2023-12-05 00:11:14 26 4
gpt4 key购买 nike

我写了一个 Python应用程序托管于 Open Shift .

用户登录应用程序后,他的权限取决于他在 Azure Active Directory 中的组成员身份。 .

如何验证用户是否属于 Azure Active Directory 中的组通过我的申请?

最佳答案

您可以根据您的方案从您的应用程序调用以下 Microsoft Graph API -

  • Check member groups

    如果您已经知道要检查/验证成员身份的组,这将很有帮助。
     POST https://graph.microsoft.com/v1.0/users/{id | userPrincipalName}/checkMemberGroups 

    在请求正文中,您可以提供 groupdIds ,即包含要检查成员身份的组的对象 ID 的集合。最多可以指定 20 个组。
     {
    "groupIds": [
    "fee2c45b-915a-4a64b130f4eb9e75525e",
    "4fe90ae065a-478b9400e0a0e1cbd540"
    ]
    }
  • user: getMemberGroups

    如果您还不了解该组并希望获取该用户所属的所有组,这将很有帮助。
     POST https://graph.microsoft.com/v1.0/users/{id | userPrincipalName}/getMemberGroups

  • 您还可以通过编辑应用程序的 list (这可以直接在 Azure 门户中完成)并设置 "groupMembershipClaims" 来启用组声明作为应用程序访问 token 的一部分。属性(property)到 "All""SecurityGroup"如所须。

    但是 groupMemembershipClaims 有一个问题,该 token 并不总是与用户所属的所有组一起出现。如果用户属于太多组的成员(AFAIK 是 6 个或更多),您只会返回超龄指示声明,如 hasGroups告诉您用户是许多组的一部分,您应该调用图形 API 来获取所有组的列表。这就是我强调相关 Microsoft Graph API 的原因。

    这是一个基于组声明进行授权的示例应用程序。它使用 .NET 4.5 MVC、C# 但概念是相同的 -

    Authorization in a web app using Azure AD groups & group claims

    这是另一个 SO Post ,其中讨论了类似的要求。它还提到考虑应用程序角色来做出授权决定,因为这在某些情况下可能更合适。

    关于azure-active-directory - 如何验证用户是否属于 Azure AD 中的组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54149675/

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