Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Override
- public List<UserModel> getUsers(RealmModel realm, int firstResult, int maxResults) {
- List<UserModel> users = session.userLocalStorage().getUsers(realm, firstResult, maxResults);
- logger.info("loaded {} users.", users.size());
- return users;
- }
- @Override
- public UserModel getUserByUsername(String username, RealmModel realm) {
- logger.info("Looking for user '{}'", username);
- UserModel adapter = session.userLocalStorage().getUserByUsername(username, realm);
- if (adapter == null) {
- logger.info("Couldn't find '{}' in keycloak storage. Looking in properties.", username);
- String password = properties.getProperty(username);
- if (password != null) {
- adapter = session.userLocalStorage().addUser(realm, username);
- adapter.setFederationLink(model.getId());
- adapter.setEnabled(true);
- String pass = properties.getProperty(username);
- session.userCredentialManager().updateCredential(realm, adapter, UserCredentialModel.password(properties.getProperty(username), false));
- logger.info("Created new user in keycloak with U:{} P:{}", username, pass);
- }
- }
- return adapter;
- }
- @Override
- public boolean updateCredential(RealmModel realm, UserModel user, CredentialInput input) {
- return false; //defers to keycloak
- }
- @Override
- public boolean isConfiguredFor(RealmModel realm, UserModel user, String credentialType) {
- return credentialType.equals(CredentialModel.PASSWORD);
- }
- @Override
- public Set<String> getDisableableCredentialTypes(RealmModel realm, UserModel user) {
- logger.info("getDisableableCredentialTypes");
- return Collections.emptySet();
- }
- @Override
- public boolean supportsCredentialType(String credentialType) {
- return credentialType.equals(CredentialModel.PASSWORD);
- }
- @Override
- public boolean isValid(RealmModel realm, UserModel user, CredentialInput input) {
- logger.info("Password Validation");
- boolean isExistingUser = session.userLocalStorage().getUserByUsername(user.getUsername(), realm) != null;
- if (!supportsCredentialType(input.getType()) || !(input instanceof UserCredentialModel) || isExistingUser) {
- return false; //defer to keycloak if user exists
- }
- UserCredentialModel cred = (UserCredentialModel) input;
- String password = properties.getProperty(user.getUsername());
- return password != null && !UNSET_PASSWORD.equals(password) && password.equals(cred.getValue());
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement