Okta Expression Language 语句获取部分组名

问题描述 投票:0回答:1

我的 Okta 组很少有这样的命名约定:app-appname-team-accessLevel,app-appname- 是不变的部分,team-accessLevel 根据用户变化。示例:app-appname-security-read、app-appname-security-admin 等。我必须将自定义参数从 Okta 发送到此应用程序。我需要两个参数,team 和 accessLevel,它们都是使用 Okta Expression 语言提取的组名的一部分。

我尝试创建自定义的 Okta 表达式来提取组名的适当部分:

Arrays.flatten(substringBefore(substringAfter(substringAfter("app-appname-team-accessLevel", "-"), "-"), "-"))
此行成功地从字符串中提取“团队”,但我无法用某些表达式替换此硬编码字符串,从而提取分配给用户的实际组。我面临的另一个问题是用户可以是多个组的一部分,所以我制作了这个属性字符串数组,在完美的场景中,如果用户是组 app-appname-security-read 和 app- 的一部分appname-hr-admin,属性应该是["security","hr"]。我试图将我的行与 Okta 文档中的这一行结合起来:
getFilteredGroups({"00gml2xHE3RYRx7cM0g3"}, "group.name", 40)
,但我不确定是否可以根据组 ID 以外的内容进行过滤。有没有什么方法可以创建一个 Okta 表达式语言来处理这个任务,或者我可以在这种情况下使用一些更有效的方法?

okta okta-api identity-management
1个回答
0
投票

似乎表达语言太复杂了。您是否研究过创建由组分配触发的工作流的可能性,该工作流将解析分配的组名称并根据组名称的第三部分(除以“-”)填充用户属性?

我相信 Okta 提供了几个免费的工作流程,但最好与支持部门联系。

© www.soinside.com 2019 - 2024. All rights reserved.