如何在 Keycloak 管理客户端中 enable/disable 用户
How to enable/disable user in Keycloak Admin Client
在我为 Keycloak Admin Client 找到的示例中,enable/disable 用户提到了 UserRepresentation class 中称为 "setEnabled" 的方法。
不幸的是,这个方法似乎在最新版本中被删除了,因为该方法也不再列在 JavaDocs 中。
所以,我的问题是:如何在最新版本的 Keycloak Admin Client (3.4.3.Final) 中 enable/disable 一个用户?
谢谢并致以最诚挚的问候,克里斯
显然可以使用 API:
curl -v -X PUT -H "Content-Type: application/json" -H "Authorization: Bearer $token" --data "{\"enabled\": false}" "http://localhost:8080/auth/admin/realms/[my-realm]/users/[user-id]"
找到解决方案:问题是存在具有 UserRepresentation class 的不同 Java 包,而我导入了错误的包。正确的是
org.keycloak.representations.idm.UserRepresentation
这还包括一个函数 setEnabled()
.
非常感谢您的评论!
适用于 Keycloak-admin-client 版本 4.8。3.Final
// connect to keycloak server
Keycloak keycloak = KeycloakBuilder.builder()
.serverUrl(AUTHURL)
.realm(REALM)
.grantType(OAuth2Constants.PASSWORD) // "password"
.clientId(CLIENTID)
.clientSecret(SECRETKEY)
.username(ADMIN_USERNAME)
.password(ADMIN_PASSWORD)
.build();
// get user resource
RealmResource realmResource = keycloak.realm(REALM);
UsersResource userRessource = realmResource.users();
// fetch an existing user
UserRepresentation user = userRessource.get(userId).toRepresentation();
// change user
user.setEnabled(true);
// update
userRessource.get(userId).update(user);
在我为 Keycloak Admin Client 找到的示例中,enable/disable 用户提到了 UserRepresentation class 中称为 "setEnabled" 的方法。
不幸的是,这个方法似乎在最新版本中被删除了,因为该方法也不再列在 JavaDocs 中。
所以,我的问题是:如何在最新版本的 Keycloak Admin Client (3.4.3.Final) 中 enable/disable 一个用户?
谢谢并致以最诚挚的问候,克里斯
显然可以使用 API:
curl -v -X PUT -H "Content-Type: application/json" -H "Authorization: Bearer $token" --data "{\"enabled\": false}" "http://localhost:8080/auth/admin/realms/[my-realm]/users/[user-id]"
找到解决方案:问题是存在具有 UserRepresentation class 的不同 Java 包,而我导入了错误的包。正确的是
org.keycloak.representations.idm.UserRepresentation
这还包括一个函数 setEnabled()
.
非常感谢您的评论!
适用于 Keycloak-admin-client 版本 4.8。3.Final
// connect to keycloak server
Keycloak keycloak = KeycloakBuilder.builder()
.serverUrl(AUTHURL)
.realm(REALM)
.grantType(OAuth2Constants.PASSWORD) // "password"
.clientId(CLIENTID)
.clientSecret(SECRETKEY)
.username(ADMIN_USERNAME)
.password(ADMIN_PASSWORD)
.build();
// get user resource
RealmResource realmResource = keycloak.realm(REALM);
UsersResource userRessource = realmResource.users();
// fetch an existing user
UserRepresentation user = userRessource.get(userId).toRepresentation();
// change user
user.setEnabled(true);
// update
userRessource.get(userId).update(user);