Java KeyClope-以编程方式创建领域/用户/组?
我们决定将身份和访问管理解决方案迁移到,而不是完全在JavaEEWeb应用程序中实现它。我们正在创建一个多租户解决方案,并希望通过我们的工作流程以编程方式创建安全领域/用户/组,而不是利用KeyClope的自我注册功能或web UI,以便我们可以获取信用卡详细信息进行支付等。我知道我们可能会利用,但我不确定除了手工编码REST调用之外,是否还有更简单的方法。KeyClope是否提供了我们可以使用的管理客户端库?还是我们自己在为管理API实现REST客户机时遇到了麻烦?主要关注的是使用,而不是配置。您需要实现自己,使用所需的参数进行必要的调用。有一个工具可以用来做这类事情,那就是,但是我认为它对你的情况没有用。我在网站上找到了一些信息。有很多有用的示例,展示了如何管理用户、领域等。您找到了关于该API的文档吗?仅供参考,gist url现在已断开Java KeyClope-以编程方式创建领域/用户/组?,java,rest,jakarta-ee,keycloak,keycloak-services,Java,Rest,Jakarta Ee,Keycloak,Keycloak Services,我们决定将身份和访问管理解决方案迁移到,而不是完全在JavaEEWeb应用程序中实现它。我们正在创建一个多租户解决方案,并希望通过我们的工作流程以编程方式创建安全领域/用户/组,而不是利用KeyClope的自我注册功能或web UI,以便我们可以获取信用卡详细信息进行支付等。我知道我们可能会利用,但我不确定除了手工编码REST调用之外,是否还有更简单的方法。KeyClope是否提供了我们可以使用的管理客户端库?还是我们自己在为管理API实现REST客户机时遇到了麻烦?主要关注的是使用,而不是配置
Keycloak kc = KeycloakBuilder.builder()
.serverUrl("https://localhost:8443/auth")
.realm("master")
.username("admin")
.password("admin")
.clientId("Mycli")
.resteasyClient(new ResteasyClientBuilder().connectionPoolSize(10).build())
.build();
CredentialRepresentation credential = new CredentialRepresentation();
credential.setType(CredentialRepresentation.PASSWORD);
credential.setValue("test123");
UserRepresentation user = new UserRepresentation();
user.setUsername("testuser2");
user.setFirstName("Test2");
user.setLastName("User2");
user.setEmail("aaa@bbb.com");
user.setCredentials(Arrays.asList(credential));
user.setEnabled(true);
user.setRealmRoles(Arrays.asList("admin"));
// Create testuser
Response result = kc.realm("my-realem").users().create(user);
if (result.getStatus() != 201) {
System.err.println("Couldn't create user.");
System.exit(0);
}else{
System.out.println("Testuser created.... verify in keycloak!");
}