有没有人对 Keycloak 进行导入功能?

Has anyone made import functionality to Keycloak?

我们需要将数百个用户从 csv 文件导入到 Keycloak。我还没有找到任何现成的导入功能来执行此操作。

有没有人制作任何导入例程或至少构建一些骨架? REST API 可能是唯一的方法 - 或者还有其他方法吗?

我最近在 Java 中构建了类似的东西。您可以使用 REST Api,但也有管理客户端。参见 Programmatically adding users in Keycloak for some pointers. It should be trivial to add CSV support for that using e.g. Apache Commons CSV

基本上你可以添加一个Maven依赖:

<dependency>
  <groupId>org.keycloak</groupId>
  <artifactId>keycloak-admin-client</artifactId>
  <version>1.4.0.Final</version>
</dependency>

并像这样使用它:

Keycloak kc = Keycloak.getInstance(
  "http://localhost:8080/auth", 
  "master", // the realm to log in to
  "admin", "password",  // the user
  "security-admin-console");

CredentialRepresentation credential = new CredentialRepresentation();
credential.setType(CredentialRepresentation.PASSWORD);
credential.setValue("test123");
UserRepresentation user = new UserRepresentation();
user.setUsername("testuser");
user.setFirstName("Test");
user.setLastName("User");
user.setCredentials(Arrays.asList(credential));
kc.realm("master").users().create(user);