52 int passwordHistoryPolicyValue = policy.
getPolicyConfig(PasswordPolicy.PASSWORD_HISTORY_ID);
53 if (passwordHistoryPolicyValue != -1) {
55 for (CredentialModel cred : storedPasswords) {
56 PasswordHashProvider hash =
session.
getProvider(PasswordHashProvider.class, cred.getAlgorithm());
57 if (hash == null)
continue;
58 if (hash.verify(password, cred)) {
59 return new PolicyError(
ERROR_MESSAGE, passwordHistoryPolicyValue);
63 for (CredentialModel cred : passwordHistory) {
64 PasswordHashProvider hash =
session.
getProvider(PasswordHashProvider.class, cred.getAlgorithm());
65 if (hash.verify(password, cred)) {
66 return new PolicyError(
ERROR_MESSAGE, passwordHistoryPolicyValue);
KeycloakContext getContext()
UserCredentialManager userCredentialManager()
PasswordPolicy getPasswordPolicy()
< T extends Provider > T getProvider(Class< T > clazz)
KeycloakSession session
Definition: HistoryPasswordPolicyProvider.java:38
List< CredentialModel > getStoredCredentialsByType(RealmModel realm, UserModel user, String type)
public< T > T getPolicyConfig(String key)
Definition: PasswordPolicy.java:70
static final String ERROR_MESSAGE
Definition: HistoryPasswordPolicyProvider.java:36