@Override public RealmModel getRealm(RealmModel currentRealm, Map<String, String> configuration) throws AuthenticationProviderException { String realmId = configuration.get(AuthProviderConstants.EXTERNAL_REALM_ID); if (realmId == null) { throw new AuthenticationProviderException("Option '" + AuthProviderConstants.EXTERNAL_REALM_ID + "' not specified in configuration"); } // TODO: This won't be needed when KeycloakSession is available from ProviderSession KeycloakSession session = ResteasyProviderFactory.getContextData(KeycloakSession.class); if (session == null) { throw new AuthenticationProviderException("KeycloakSession not available"); } RealmModel realm = session.getRealm(realmId); if (realm == null) { throw new AuthenticationProviderException("Realm with id '" + realmId + "' doesn't exists"); } return realm; } }
RoleModel role = null; if (roleEntity.getRealmId() != null) { RealmModel realm = keycloakSession.getRealm(roleEntity.getRealmId()); role = realm.addRole(roleEntity.getId(), roleEntity.getName()); } else if (roleEntity.getApplicationId() != null) {
protected void importRealmsStep2(KeycloakSession keycloakSession, String fileName) { List<RealmEntity> realms = this.importReader.readEntities(fileName, RealmEntity.class); RealmModel adminRealm = keycloakSession.getRealm(Config.getAdminRealm()); for (RealmEntity realmEntity : realms) { RealmModel realm = keycloakSession.getRealm(realmEntity.getId()); // admin app String adminAppId = realmEntity.getAdminAppId(); if (adminAppId != null) { realm.setMasterAdminApp(adminRealm.getApplicationById(adminAppId)); } // Default roles realm.updateDefaultRoles(realmEntity.getDefaultRoles().toArray(new String[] {})); } }
protected void importApplicationsStep2(KeycloakSession keycloakSession, String fileName) { List<ApplicationEntity> apps = this.importReader.readEntities(fileName, ApplicationEntity.class); for (ApplicationEntity appEntity : apps) { RealmModel realm = keycloakSession.getRealm(appEntity.getRealmId()); ApplicationModel application = realm.getApplicationById(appEntity.getId()); // Default roles application.updateDefaultRoles(appEntity.getDefaultRoles().toArray(new String[] {})); // Scopes addScopes(realm, application, appEntity); } }
protected void importOAuthClients(KeycloakSession keycloakSession, String fileName) { List<OAuthClientEntity> clients = this.importReader.readEntities(fileName, OAuthClientEntity.class); for (OAuthClientEntity clientEntity : clients) { RealmModel realm = keycloakSession.getRealm(clientEntity.getRealmId()); OAuthClientModel client = realm.addOAuthClient(clientEntity.getId(), clientEntity.getName()); this.propertiesManager.setBasicPropertiesToModel(client, clientEntity); client.setClientId(clientEntity.getName()); // Scopes. All roles are already added at this point addScopes(realm, client, clientEntity); } logger.info("OAuth clients imported: " + clients); }
public void importUserFailures(KeycloakSession keycloakSession, String fileName) { List<UsernameLoginFailureEntity> userFailures = this.importReader.readEntities(fileName, UsernameLoginFailureEntity.class); for (UsernameLoginFailureEntity entity : userFailures) { RealmModel realm = keycloakSession.getRealm(entity.getRealmId()); UsernameLoginFailureModel model = realm.addUserLoginFailure(entity.getUsername()); this.propertiesManager.setBasicPropertiesToModel(model , entity); for (int i=0 ; i<entity.getNumFailures() ; i++) { model.incrementFailures(); } } } }
protected void importApplications(KeycloakSession keycloakSession, String fileName) { List<ApplicationEntity> apps = this.importReader.readEntities(fileName, ApplicationEntity.class); for (ApplicationEntity appEntity : apps) { RealmModel realm = keycloakSession.getRealm(appEntity.getRealmId()); ApplicationModel app = realm.addApplication(appEntity.getId(), appEntity.getName()); this.propertiesManager.setBasicPropertiesToModel(app , appEntity); // scopeIds and default roles will be done in step2 } logger.infof("Applications imported: " + apps); }
public void importUsers(KeycloakSession keycloakSession, String fileName) { List<UserEntity> users = this.importReader.readEntities(fileName, UserEntity.class); for (UserEntity userEntity : users) { RealmModel realm = keycloakSession.getRealm(userEntity.getRealmId()); UserModel user = realm.addUser(userEntity.getId(), userEntity.getLoginName());