我试图在一个spring boot项目中用KeyCloak的/usersendpoint创建用户。以下是我所遵循的步骤:首先在master领域中创建一个admin和admin-cli客户端。用于获取keycloak的实例以进行进一步的操作。
return Keycloak.getInstance(
keycloakProperties.getAuthServerUrl(),
"master",
adminConfig.getUserName(),
adminConfig.getPassword(),
"admin-cli");
如果不在user中添加客户端表示,则可以创建用户。如果我在userRepresentation对象中添加CredentialRepresentation,我将得到没有任何详细信息的BadRequest错误(400代码)。我查阅了keycloak服务器日志,这也没有什么帮助。作为一种尝试,我首先创建了用户,然后重置密码,然后也创建了用户,但无法使用重置密码endpoint设置密码(相同的错误)。正如文档中提到的,我已经将userRepresentation的enabled属性设置为true。Keycloak版本:12.0.4,spring boot版本:2.1.6。发行版我试图从收到的响应中读取实体,但也失败了。任何能解决这个问题的帮助都将不胜感激。//用户创建代码
UserRepresentation userRepresentation = new UserRepresentation();
userRepresentation.setUsername(userModel.getEmail());
userRepresentation.setEmail(userModel.getEmail());
userRepresentation.setCredentials(Arrays.asList(createPasswordCredentials(userModel.getPassword())));
userRepresentation.setEnabled(true);
Keycloak keycloak = getKeycloakInstance(keycloakProperties);
Response response = keycloak.realm(keycloakProperties.getRealm()).users().create(userRepresentation);
log.info("Response Code {}", response.getStatus());
CredentialRepresentation的代码:
private static CredentialRepresentation createPasswordCredentials(String password) {
CredentialRepresentation passwordCredentials = new CredentialRepresentation();
passwordCredentials.setTemporary(false);
passwordCredentials.setType(CredentialRepresentation.PASSWORD);
passwordCredentials.setValue(password);
return passwordCredentials;
}
我只是想更新一下这个问题背后的真正原因,我使用的服务器是旧版本的,并且这个问题在针对最新的keycloak服务器测试时得到了修复。谢谢你们的支持:)
有没有更好的方法来实现这种设置(类似于组织设置,一个人可以属于几个组织并管理其中的一些/所有组织,而不必有几个帐户)? 我用的是Keycloak 4.6
我试图用java-admin-client创建一个新用户。我使用keycloak UI在我的领域中创建了一个新客户机。 代码: 最后一行是给我403禁止。
我试图使用KeyCloak的管理API,以便向用户角色映射添加客户端级别的角色。为此,我使用管理endpoint: 不确定这里的问题是什么,因为该角色存在于系统中。这里会出什么问题?
但当我试图用用户名和密码登录时,它失败了。当我查看UI中的用户凭据时,它确实显示了一行类型,但用户标签是空白的。 如何使用REST API创建具有密码的用户?
我使用keycloak作为SAML身份提供程序的身份代理,以便登录到web应用程序。 为了使其工作,我创建了新的身份验证流程,看起来像:“创建用户如果唯一”,“自动链接代理帐户”。 Keycloak使用登录页正确重定向到标识提供程序。登录后,identity provider按预期重定向到keycloak,然后重定向到我的web应用程序,但keycloak也创建本地用户。 是否可以在不创建本地用户
如何在KeyCloak中的领域中创建管理用户?我尝试了,它给了我一个错误: