gpt4 book ai didi

java - 使用 Keycloak Java 客户端创建用户时遇到问题

转载 作者:行者123 更新时间:2023-11-30 02:20:27 29 4
gpt4 key购买 nike

这是下面的简单代码,我试图在master领域创建Keycloak用户。但我收到 Bad request 作为返回,并且在 Keycloak 中收到以下警告:

10:27:58,256 WARN [org.keycloak.events] (default task-111) type=LOGIN_ERROR, realmId=master, clientId=security-admin-console, userId=null, ipAddress=127.0.0.1, error=not_allowed, auth_method=oauth_credentials, grant_type=password, client_auth_method=client-secret

Keycloak kc = Keycloak.getInstance("http://localhost:8080/auth", "master", "admin", "password","security-admin-console");
CredentialRepresentation credential = new CredentialRepresentation();
credential.setType(CredentialRepresentation.PASSWORD);
credential.setValue(password);
credential.setTemporary(false);
UserRepresentation user = new UserRepresentation();
user.setUsername(username);
user.setFirstName("Test");
user.setLastName("User");
user.setEnabled(true);
user.setCredentials(Arrays.asList(credential));
kc.realm("master").users().create(user);

最佳答案

使用 Keycloak REST API 需要

access_token。因此,您需要检查您正在使用的客户端的Direct Access Grants Enabled:ON。默认情况下,客户端 admin-cli 会启用它。但是,看起来,security-admin-console 已禁用它。

我认为最好使用admin-cli

例如,还可以尝试使用 Postman 的 HTTP 请求来执行相同的操作。您将需要:

  1. 使用管理员凭据获取access_token
  2. 使用该 token 创建用户。

您可以在此处找到使用管理 REST API 的完整示例: https://github.com/v-ladynev/keycloak-nodejs-example

此示例使用 Node.js。但您可以分析代码以更好地了解如何使用 REST API。

关于java - 使用 Keycloak Java 客户端创建用户时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47008518/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com