private static int hashIterations(RealmModel realm) { PasswordPolicy policy = realm.getPasswordPolicy(); if (policy != null) { return policy.getHashIterations(); } return -1; }
@Override public PasswordPolicy getPasswordPolicy() { if (updated != null) return updated.getPasswordPolicy(); return cached.getPasswordPolicy(); }
public static UserCredentialValueModel encode(KeycloakSession session, RealmModel realm, String rawPassword) { return encode(session, realm.getPasswordPolicy(), rawPassword); }
public static boolean verify(KeycloakSession session, RealmModel realm, String password, UserCredentialValueModel credential) { return verify(session, realm.getPasswordPolicy(), password, credential); }
@Override public PasswordPolicy getPasswordPolicy() { if (isUpdated()) return updated.getPasswordPolicy(); return cached.getPasswordPolicy(); }
public void updateCredential(RealmModel realm, UserModel user, UserCredentialModel credential) { if (credential.getType().equals(UserCredentialModel.PASSWORD)) { if (realm.getPasswordPolicy() != null) { PasswordPolicy.Error error = realm.getPasswordPolicy().validate(session, user, credential.getValue()); if (error != null) throw new ModelException(error.getMessage(), error.getParameters()); } } user.updateCredential(credential); }
private Set<String> getPasswordHashAlgorithms() { Set<String> hashAlgos = new HashSet<>(); boolean enmasseRealmsFound = false; KeycloakSession keycloakSession = keycloakSessionFactory.create(); KeycloakTransactionManager transactionManager = keycloakSession.getTransactionManager(); transactionManager.begin(); try { List<RealmModel> realms = keycloakSession.realms().getRealms(); for(RealmModel realm : realms) { if(realm.getAttribute("enmasse-realm",Boolean.FALSE)) { enmasseRealmsFound = true; hashAlgos.add(realm.getPasswordPolicy().getHashAlgorithm()); } } } finally { transactionManager.commit(); keycloakSession.close(); } if(!enmasseRealmsFound) { LOG.warn("No realms with attribute \"enmasse-realm\" found, only universally accepted SASL mechanisms will be offered"); } return hashAlgos; }
entity.setPasswordPolicy(realmModel.getPasswordPolicy().toString());
@Override public boolean updateCredential(RealmModel currentRealm, Map<String, String> config, String username, String password) throws AuthenticationProviderException { RealmModel realm = getRealm(currentRealm, config); // Validate password policy String error = realm.getPasswordPolicy().validate(password); if (error != null) { throw new AuthenticationProviderException(error); } UserModel user = realm.getUser(username); if (user == null) { logger.warnf("User '%s' doesn't exists. Skip password update", username); return false; } UserCredentialModel cred = new UserCredentialModel(); cred.setType(CredentialRepresentation.PASSWORD); cred.setValue(password); user.updateCredential(cred); return true; }
accessCodeLifespanLogin = model.getAccessCodeLifespanLogin(); notBefore = model.getNotBefore(); passwordPolicy = model.getPasswordPolicy(); otpPolicy = model.getOTPPolicy();
actionTokenGeneratedByUserLifespan = model.getActionTokenGeneratedByUserLifespan(); notBefore = model.getNotBefore(); passwordPolicy = model.getPasswordPolicy(); otpPolicy = model.getOTPPolicy();
rep.setAdminTheme(realm.getAdminTheme()); rep.setEmailTheme(realm.getEmailTheme()); if (realm.getPasswordPolicy() != null) { rep.setPasswordPolicy(realm.getPasswordPolicy().toString());