使用带Spring Boot的Admin Rest API创建用户后,无法登录Keycloak

时间:2016-12-08 18:52:39

标签: java rest spring-boot keycloak

在Keycloak(2.4.0.Final)中通过Admin Rest API成功创建用户后,我无法使用此用户登录。我只能进入管理控制台并重置用户密码。

按照使用的代码。

    Keycloak keycloak = Keycloak.getInstance(
            "http://localhost:8080/auth",
            "master",
            "admin",
            "admin",
            "admin-cli");

    CredentialRepresentation credential = new CredentialRepresentation();
    credential.setType(CredentialRepresentation.PASSWORD);
    credential.setValue("12345678");
    credential.setTemporary(false);

    UserRepresentation user = new UserRepresentation();
    user.setUsername("testBackend");
    user.setFirstName("testBackend");
    user.setLastName("testBackend");
    user.setEmail("testBackend@testBackend.testBackend");
    user.setEnabled(true);
    user.setCredentials(Arrays.asList(credential));

    keycloak.realm("realm-test").users().create(user);

1 个答案:

答案 0 :(得分:6)

keycloak不支持使用密码创建用户(API),您需要再次调用以注册该用户的密码:

UserResource userResource=kc.realm("master").users().get(id);
CredentialRepresentation newCredential = new CredentialRepresentation();
newCredential.setType(PASSWORD);
newCredential.setValue("Tersting1");
newCredential.setTemporary(false);
userResource.resetPassword(newCredential);`