如何在 access_token 中添加角色声明,目前它是在 id_token 中?

2024-05-12

我正在使用 PKCE 跟踪身份验证代码流,我的身份提供程序是 Azure Active Directory。 我从应用程序注册创建了一个应用程序“客户端应用程序”。在清单中,我添加了如下所示的 appRoles。

"appRoles": [
    {
      "allowedMemberTypes": [
        "User"
      ],
      "displayName": "StoreGroupManager",
      "id": "47fbb575-859a-4941-89c9-0f7a6c30beac",
      "isEnabled": true,
      "description": "Consumer apps have access to the consumer data.",
      "value": "StoreGroupManager"
    }
  ]

我将此角色 StoreGroupManager 分配给用户。现在,当我使用 PKCE 遵循授权代码流程并获取 id_token 、刷新令牌和 access_token 时。我可以看到 id_token 有一个声明roles但不是 access_token。 我需要在 access_token 中拥有角色声明。这可能吗? 以下是解码后的 id_token.


如果访问令牌所针对的 API 的应用程序注册定义了这些角色并将其分配给用户,则角色将位于访问令牌中。 因此,如果您对客户端和 API 使用相同的应用程序注册,它们应该在那里。 但是,如果您为客户端和 API 进行了单独的应用程序注册,则需要在两个应用程序中定义角色,并在两个应用程序上将用户分配给该角色。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 access_token 中添加角色声明,目前它是在 id_token 中? 的相关文章

随机推荐