0
我想通過keycloak管理客戶端創建一個用戶,但我獲得了400的狀態。通過keycloak創建用戶通過keycloak管理客戶端返回400
- 我無法激活keycloak客戶端的任何日誌,所以我不知道它執行的http調用。
- 我設法通過郵遞員創建用戶。
- 搜索,並得到用戶的工作(見下文)
你看到我的代碼中的任何錯誤?
Keycloak keycloak = Keycloak.getInstance(keycloakUrl,"master",
keycloakAdminUsername, keycloakAdminPassword,
keycloakAdminClient);
UserRepresentation user = new UserRepresentation();
user.setUsername("username");
user.setFirstName("firstname");
user.setEmail("[email protected]");
user.setRequiredActions(Collections.<String>emptyList());
user.setEnabled(true);
Response response = keycloak.realm(realm).users().create(user);
if (response.getStatus() != 201) {
log.error("Couldn't create user, status:{}", response.getStatus());
} else {
log.info("User# created", user.getUsername());
log.info("Keycloak response status: {}",
response.getStatus());
}
無法創建用戶,狀態:400
的事情是,如果我試圖讓使用相同keycloak實例的用戶,它的工作原理。
UserResource userX = keycloak.realm(realm).users().get("8c1d29fd-8d6b-4dea-817f-3fc1421096f0");
log.debug(userX.toRepresentation().getUsername());
一樣的,如果我使用搜索
log.debug("Getting users from keycloak");
List<UserRepresentation> users = keycloak.realm(realm).users().search(username, 0, 10);
users.forEach(user -> log.info("username: {}", user.getUsername()));
是否曾經使用過'kc'變量或是一個錯字(而不是它應該是'keycloak')? – Thomas
事實上,這是一個錯誤的複製粘貼,我已經糾正它 – Grandmaster
我前段時間做了同樣的事情,但不幸的是我無法訪問代碼atm和我的記憶不太適合我,所以我只能提供一些提示你可以嘗試:1)檢查你的管理員用戶是否允許在你的領域創建和管理用戶2)嘗試沒有必要的操作(iirc他們不在這裏工作)3)嘗試發送一個(臨時)密碼 – Thomas