Keycloak: проверьте, совпадает ли старый пароль, если да, то замените его на другойJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Keycloak: проверьте, совпадает ли старый пароль, если да, то замените его на другой

Сообщение Anonymous »

Java с зависимостью maven "keycloak-admin-cli"
У меня есть этот код:

Код: Выделить всё

keycloakService.findUserByEmailOrUsername( user.getKeycloakUsername() )
.ifPresent( userRepresentation -> {
//Check for old password
if ( userRepresentation.getCredentials() != null ) {
for (CredentialRepresentation c : userRepresentation.getCredentials()) {
if ( CredentialRepresentation.PASSWORD.equals( c.getType() ) ) {
if ( userDTO.getOldpassword().equals( c.getValue() ) ) {
//Das alte Passwort stimmt mit dem in der Datenbank überein. Wir können updaten
//Neues Passwort setzen
CredentialRepresentation credential = new CredentialRepresentation();
credential.setType( CredentialRepresentation.PASSWORD );
credential.setValue( userDTO.getPassword() );
credential.setTemporary( false );
userRepresentation.setCredentials( Collections.singletonList( credential ) );
} else {
throw new RuntimeException( "Your current password does not match", null );
}
}
}
}
} );
Я проверил с помощью отладчика и нашел правильного пользователя. userRepresentation не имеет значения NULL. Но учетные данные пользователя всегда равны нулю.
Кроме того, если я хочу установить только новый пароль для пользователя, он не обновляется:

Код: Выделить всё

keycloakService.findUserByEmailOrUsername( user.getKeycloakUsername() )
.ifPresent( userRepresentation -> {
CredentialRepresentation credential = new CredentialRepresentation();
credential.setType( CredentialRepresentation.PASSWORD );
credential.setValue( userDTO.getPassword() );
credential.setTemporary( false );
userRepresentation.setCredentials( Collections.singletonList( credential ) );
} );
Я не получаю сообщения об ошибке, keycloak просто не обновляется.
Может ли кто-нибудь показать мне пример, как я могу проверить старую пароль и сменить его на другой? спасибо

Подробнее здесь: https://stackoverflow.com/questions/647 ... nother-one
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»