Okta 不返回令牌中的自定义声明

RHa*_*ris 4 claims openid-connect okta

我刚刚在 Okta 注册了一个开发测试帐户,以使用 Okta 的身份验证服务和用户管理来测试 OIDC。

使用他们的管理门户,我创建了第二个名为 Test Group 的组以及默认的 Everyone 组,并将我的单个用户添加到这两个组中。

然后,我添加了一个名为 My SPA 的应用程序,并为该应用程序分配了测试组访问权限。

使用经典 UI,然后我编辑了 OpenID Connect ID Token 部分并将组声明类型设置为Expression并添加groups为声明名称和getFilteredGroups(app.profile.groupwhitelist, "group.name", 40)表达式。

然后我去编辑了授权服务器。我添加了一个名为“组”的声明,其正则表达式为 *。与任何范围、访问令牌一起使用并始终包含。

然后我使用令牌预览选择我的用户并使用隐式授权流程,但没有显示组。

如何让用户的组在 Okta 身份验证服务器的 ID 或访问令牌中显示为声明?

编辑 我所拥有的屏幕截图:

2组用户部分 添加到默认 AS 的声明 我从令牌预览中得到的东西——没有角色声明

Mat*_*ble 5

我只使用过开发者控制台来配置东西。这是我如何做到的:

导航到API > Authorization Servers,单击Authorization Servers选项卡并编辑默认选项。单击“声明”选项卡和“添加声明”。将其命名为“组”或“角色”,并将其包含在 ID 令牌中。将值类型设置为“组”并将过滤器设置为.*.

  • 发现我的问题!如果您在我的屏幕截图中注意到,我添加了一个 `*` 而不是 `.*` 的正则表达式。非常感谢@sara-daqiq 帮助我抓住了这一点! (2认同)