Okta Pass 角色列表而不是单个值?

Posted

技术标签:

【中文标题】Okta Pass 角色列表而不是单个值?【英文标题】:Okta Pass list of roles instead of single value? 【发布时间】:2019-09-05 14:43:28 【问题描述】:

目前,我们的 TestCo Okta 能够通过具有几个不同值之一的“testrole”,例如“admin”或“user”。如果用户有多个“testrole”属性(基于组成员身份),那么 Okta 有一个优先顺序来确定它将返回哪个“testrole”值。

我们需要能够将角色列表从 IdP 传递到 Cognito 到我们的 API。例如“admin, user, readonly, section-admin”的字符串。

【问题讨论】:

【参考方案1】:

您可以添加包含所有组信息的“组”或“角色”声明。为此,请登录您的 Okta 开发者帐户,然后导航到 API > Authorization Servers,然后单击 default 服务器。点击声明标签和添加声明。将其命名为 groups(或 roles),并将其包含在 ID 令牌中。将值类型设置为Groups,并将过滤器设置为.* 的Regex。点击创建

【讨论】:

嗨,谢谢你的回答,但我认为这不会起作用,因为我们需要在 SAML 断言中将此信息传递给 cognito,我们的后端不会访问 okta 身份验证服务器本身(如果我说得对,我们的技术负责人解释了它,但我不确定我是否正确)

以上是关于Okta Pass 角色列表而不是单个值?的主要内容,如果未能解决你的问题,请参考以下文章

ACL(访问控制列表)Codeigniter 按用户 ID 而不是按角色

isAllowed 用于单个角色(不是角色继承的角色)

基于角色的访问控制

使用 Okta Spring Boot Starter 的自定义权限

如何在 WPF 应用程序中实现基于角色的菜单访问列表

如何在 PyQt/PySide 中获取 QPalette 的组和角色?