我正在使用 Keycloak 管理 API 创建一个新用户。在创建用户之前,如何检查给定的密码是否确实符合领域密码策略?
我正在使用以下代码:
Response response = usersResource.create(userRepresentation);
String userId = response.getLocation().getPath().replaceAll(".*/([^/]+)$", "$1");
UserResource userResource = usersResource.get(userId);
CredentialRepresentation passwordCred = new CredentialRepresentation();
passwordCred.setTemporary(false);
passwordCred.setType(CredentialRepresentation.PASSWORD);
passwordCred.setValue(somePassword);
userResource.resetPassword(passwordCred);
上面代码的问题是,如果给定的密码不符合密码策略,“resetPassword”方法会失败,但是此时用户已经在keycloak中创建了,我必须删除它,因为我没有办法到“回滚”。
另一个选项是在创建用户之前检查密码是否正确。但是我该怎么做呢?