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"]
      }
    }
  ]
]

还尝试在导入的领域配置中设置客户端,但在这两种情况下我都遇到以下问题

  1. 已创建服务帐户,
  2. 客户在角色列表中有角色,
  3. 但未设置 "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

中即将修复