Keycloak:如何导入具有客户端角色的服务帐户
Keycloak: How to import service accounts with client roles
我一直在尝试导入具有角色的预配置客户端和服务帐户,因此我的 json 文件看起来像
[
"realm": "dev",
"users": [
{
"username": "service-account-example-client",
"enabled": true,
"serviceAccountClientId": "example-client",
"clientRoles": {
"realm-management": ["view-users"],
"example-client": ["view-users"]
}
}
]
]
还尝试在导入的领域配置中设置客户端,但在这两种情况下我都遇到以下问题
- 已创建服务帐户,
- 客户在角色列表中有角色,
- 但未设置 "Service account roles" 中的客户端角色。
当 REST API 尚不可用时,如何在设置过程中导入具有分配的客户端角色的服务帐户角色?
还使用 UI 中的导入导出删除了一些配置。
Keycloak 版本为:8.0.0
谢谢。
因此,我决定采用 post 安装步骤,重新使用生成的密码将客户端角色分配给具有服务帐户的客户端
$ /opt/jboss/keycloak/bin/kcadm.sh config credentials --server http://localhost:8080/auth --realm master --user admin --password ${LAST_PASS} --client admin-cli
$ /opt/jboss/keycloak/bin/kcadm.sh add-roles -r dev --uusername service-account-example-client --cclientid realm-management --rolename view-users'
我刚刚发现这是一个 known issue keycloak 目录导入。
您可以使用 singleFile import 作为解决方法。有关 singleFile 导入的更多详细信息/示例,请参阅问题评论。 v11.0.0
中即将修复
我一直在尝试导入具有角色的预配置客户端和服务帐户,因此我的 json 文件看起来像
[
"realm": "dev",
"users": [
{
"username": "service-account-example-client",
"enabled": true,
"serviceAccountClientId": "example-client",
"clientRoles": {
"realm-management": ["view-users"],
"example-client": ["view-users"]
}
}
]
]
还尝试在导入的领域配置中设置客户端,但在这两种情况下我都遇到以下问题
- 已创建服务帐户,
- 客户在角色列表中有角色,
- 但未设置 "Service account roles" 中的客户端角色。
当 REST API 尚不可用时,如何在设置过程中导入具有分配的客户端角色的服务帐户角色?
还使用 UI 中的导入导出删除了一些配置。
Keycloak 版本为:8.0.0
谢谢。
因此,我决定采用 post 安装步骤,重新使用生成的密码将客户端角色分配给具有服务帐户的客户端
$ /opt/jboss/keycloak/bin/kcadm.sh config credentials --server http://localhost:8080/auth --realm master --user admin --password ${LAST_PASS} --client admin-cli
$ /opt/jboss/keycloak/bin/kcadm.sh add-roles -r dev --uusername service-account-example-client --cclientid realm-management --rolename view-users'
我刚刚发现这是一个 known issue keycloak 目录导入。 您可以使用 singleFile import 作为解决方法。有关 singleFile 导入的更多详细信息/示例,请参阅问题评论。 v11.0.0
中即将修复