Advertisement
Guest User

Untitled

a guest
Feb 13th, 2018
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.68 KB | None | 0 0
  1.     @Override
  2.     public List<UserModel> getUsers(RealmModel realm, int firstResult, int maxResults) {
  3.         List<UserModel> users = session.userLocalStorage().getUsers(realm, firstResult, maxResults);
  4.         logger.info("loaded {} users.", users.size());
  5.         return users;
  6.     }
  7.  
  8.     @Override
  9.     public UserModel getUserByUsername(String username, RealmModel realm) {
  10.         logger.info("Looking for user '{}'", username);
  11.         UserModel adapter = session.userLocalStorage().getUserByUsername(username, realm);
  12.         if (adapter == null) {
  13.             logger.info("Couldn't find '{}' in keycloak storage. Looking in properties.", username);
  14.             String password = properties.getProperty(username);
  15.             if (password != null) {
  16.                 adapter = session.userLocalStorage().addUser(realm, username);
  17.                 adapter.setFederationLink(model.getId());
  18.                 adapter.setEnabled(true);
  19.                 String pass = properties.getProperty(username);
  20.                 session.userCredentialManager().updateCredential(realm, adapter, UserCredentialModel.password(properties.getProperty(username), false));
  21.                 logger.info("Created new user in keycloak with U:{} P:{}", username, pass);
  22.             }
  23.         }
  24.         return adapter;
  25.     }
  26.  
  27.     @Override
  28.     public boolean updateCredential(RealmModel realm, UserModel user, CredentialInput input) {
  29.         return false; //defers to keycloak
  30.     }
  31.  
  32.     @Override
  33.     public boolean isConfiguredFor(RealmModel realm, UserModel user, String credentialType) {
  34.         return credentialType.equals(CredentialModel.PASSWORD);
  35.     }
  36.  
  37.     @Override
  38.     public Set<String> getDisableableCredentialTypes(RealmModel realm, UserModel user) {
  39.         logger.info("getDisableableCredentialTypes");
  40.         return Collections.emptySet();
  41.     }
  42.  
  43.     @Override
  44.     public boolean supportsCredentialType(String credentialType) {
  45.         return credentialType.equals(CredentialModel.PASSWORD);
  46.     }
  47.  
  48.     @Override
  49.     public boolean isValid(RealmModel realm, UserModel user, CredentialInput input) {
  50.         logger.info("Password Validation");
  51.         boolean isExistingUser = session.userLocalStorage().getUserByUsername(user.getUsername(), realm) != null;
  52.         if (!supportsCredentialType(input.getType()) || !(input instanceof UserCredentialModel) || isExistingUser) {
  53.             return false; //defer to keycloak if user exists
  54.         }
  55.  
  56.         UserCredentialModel cred = (UserCredentialModel) input;
  57.         String password = properties.getProperty(user.getUsername());
  58.         return password != null && !UNSET_PASSWORD.equals(password) && password.equals(cred.getValue());
  59.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement