我们需要从csv-file导入数百名用户到Keycloak。我还没有找到任何现成的导入功能来执行此操作。
有没有人制作任何导入例程或至少建立一些骨架? REST API可能是唯一的方法 - 还是有另一种方式?
答案 0 :(得分:9)
我最近在Java中构建类似的东西。您可以使用REST Api,但也有admin-client。有关指示,请参阅Programmatically adding users in Keycloak。使用例如添加CSV支持应该是微不足道的。 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);