keycloak - 基于 SAML 属性在 Keycloak 中自动添加和删除角色
问题描述
我在 Keycloak 中设置了 SAML IdP,它工作正常。我们从 SAML 中获得一个名为“Groups”的属性,它是一个组 ID 列表。所以我设置了一些“高级属性到角色”类型的映射器。我将 GroupA 映射到 RoleA,将 GroupB 映射到 RoleB,等等。起初这很好用。如果用户的“Groups”属性包含“GroupA”,则该用户被正确分配了 RoleA。
问题是当用户从 GroupA 重新分配到 GroupB 时。现在,当该用户登录时,他被正确分配了 RoleB,但他保留了之前的 RoleA。如果用户只是失去 GroupA,则该用户保留 RoleA。
我希望用户拥有这些角色,并且只有那些基于他当前的 Groups 属性映射的角色。而如果一个用户失去了一个组属性值,那么他就应该失去相应的角色。
我该如何解决这种情况?这可以使用 SAML 属性映射器来完成吗?这样做的正确方法是什么?
解决方案
推荐阅读
- rsync - rsync 间歇性地失败,在同一命令上出现不同的错误代码
- pyspark - ParquetDecodingException 使用 pyspark
- bash - crontab 不执行脚本和日志文件不工作
- python - 使用 Python Elasticsearch Client 为空索引添加索引模式
- ios - 将两个字典转换为一个字典作为 Swift 中的键值对
- javascript - 使用primefaces在xhtml页面中打印条形码时如何删除页眉和页脚
- signalr-hub - Azure SignalR 服务测试
- javascript - 如何转换mysql查询的数组结果以在chartist.js中使用
- c# - RelativeSource 不使用子属性工作
- sql - 如何修复 ORA-01843:不是有效月份?