【问题标题】:Azure AD including groupMemberClaims in app manifest fails应用清单中包含 groupMemberClaims 的 Azure AD 失败
【发布时间】:2018-09-26 17:36:56
【问题描述】:

我已经阅读了许多博客,其中包括:

https://www.codeproject.com/Articles/1254806/Authentication-and-Authorization-in-ASP-NET-Core-2

我正在使用 Azure 活动目录构建使用 OpenIdConnect 的构建应用程序。我的愿望是将每个应用程序的访问权限仅限于特定组中的用户。例如,App 1 只能被组 1 的用户访问,而应用 2 只能被组 2 的用户访问。

因此,当任一应用程序的用户使用 Azure AD 登录时,我希望 Azure AD 返回登录用户的组声明。根据组,我决定(从应用程序方面)是否允许用户访问应用程序。我已经能够弄清楚如何返回组...

但是

当我在应用程序清单中包含 groupMemberClaims 时,我收到错误 Bad Request... 这是由于向请求中添加了太多标头,因为某些用户属于许多安全组。这是我的困境。

以前有人遇到过这个问题,您是如何解决的?

【问题讨论】:

    标签: openid-connect azure-ad-b2c group-membership


    【解决方案1】:

    您可以在应用程序清单中为用户定义角色,而不是依赖组。 然后您可以将这些角色分配给用户。 如果你有 Azure AD 的付费许可证(我忘了是哪一层),你还可以将用户角色分配给组。

    以下是应用清单中用户角色的示例:

    {
      "appRoles": [
        {
          "allowedMemberTypes": [
            "User"
          ],
          "displayName": "Administrator",
          "id": "179c1dc0-4801-46f3-bc0d-35f059da1415",
          "isEnabled": true,
          "description": "Administrators can access advanced features.",
          "value": "admin"
        }
      ]
    }
    

    value 是令牌中提供给您的应用的内容。 定义角色后,单击“本地目录中的托管应用程序”(即服务主体)。 在那里您可以找到用户和组,并为用户(和组)分配角色。

    我关于角色和自定义权限主题的文章:https://joonasw.net/view/defining-permissions-and-roles-in-aad

    【讨论】:

      猜你喜欢
      • 2018-07-02
      • 2016-06-07
      • 1970-01-01
      • 2015-05-01
      • 1970-01-01
      • 2023-01-24
      • 2022-01-04
      • 2020-05-29
      • 2020-10-19
      相关资源
      最近更新 更多