protected void checkJtaEnabled(KeycloakSessionFactory factory) { jtaLookup = (JtaTransactionManagerLookup) factory.getProviderFactory(JtaTransactionManagerLookup.class); if (jtaLookup != null) { if (jtaLookup.getTransactionManager() != null) { jtaEnabled = true; } } }
@Override public void postInit(KeycloakSessionFactory factory) { super.postInit(factory); userSecretAdapter = factory.getProviderFactory(UserSecretAdapter.class).create(null); }
@Override public void postInit(KeycloakSessionFactory factory) { UserSecretAdapter userSecretAdapter = factory.getProviderFactory(UserSecretAdapter.class).create(null); singleton = new STSUsernamePasswordForm(userSecretAdapter); }
@GET @Path("/user-by-username-from-fed-factory") @Produces(MediaType.APPLICATION_JSON) public UserRepresentation getUserByUsernameFromFedProviderFactory(@QueryParam("realmName") String realmName, @QueryParam("userName") String userName) { RealmModel realm = getRealmByName(realmName); UserFederationProviderFactory factory = (UserFederationProviderFactory)session.getKeycloakSessionFactory().getProviderFactory(UserFederationProvider.class, "dummy"); UserModel user = factory.getInstance(session, null).getUserByUsername(realm, userName); if (user == null) return null; return ModelToRepresentation.toRepresentation(user); }
@Override public void postInit(KeycloakSessionFactory factory) { super.postInit(factory); claimName = EnvProperties.getEnvOrSysProp("STS_USER_SECRET_CLAIM_NAME", "user-secret"); userSecretAdapter = factory.getProviderFactory(UserSecretAdapter.class).create(null); }
@Override public MongoDBLockProvider create(KeycloakSession session) { MongoConnectionProviderFactory mongoConnectionFactory = (MongoConnectionProviderFactory) session.getKeycloakSessionFactory().getProviderFactory(MongoConnectionProvider.class); DB db = mongoConnectionFactory.getDBBeforeUpdate(); return new MongoDBLockProvider(this, db); }
protected UserFederationProvider getFederationProvider(UserFederationProviderModel model) { UserFederationProviderFactory factory = (UserFederationProviderFactory)session.getKeycloakSessionFactory().getProviderFactory(UserFederationProvider.class, model.getProviderName()); return factory.getInstance(session, model); }
UserFederationProviderFactory ldapFactory = (UserFederationProviderFactory) session.getKeycloakSessionFactory().getProviderFactory(UserFederationProvider.class, LDAPConstants.LDAP_PROVIDER); if (ldapFactory != null) { ((UserFederationEventAwareProviderFactory) ldapFactory).onProviderModelCreated(realm, fedProvider);
protected Map<String, Object> getUserAttributes() { UserSessionModel userSession = clientSession.getUserSession(); // CAS protocol does not support scopes, so pass null scopeParam ClientSessionContext clientSessionCtx = DefaultClientSessionContext.fromClientSessionAndScopeParameter(clientSession, null); Set<ProtocolMapperModel> mappings = clientSessionCtx.getProtocolMappers(); KeycloakSessionFactory sessionFactory = session.getKeycloakSessionFactory(); Map<String, Object> attributes = new HashMap<>(); for (ProtocolMapperModel mapping : mappings) { ProtocolMapper mapper = (ProtocolMapper) sessionFactory.getProviderFactory(ProtocolMapper.class, mapping.getProtocolMapper()); if (mapper instanceof CASAttributeMapper) { ((CASAttributeMapper) mapper).setAttribute(attributes, mapping, userSession, session, clientSessionCtx); } } return attributes; } }
private void lazyInit() { if (!initialized) { LiquibaseConnectionProvider liquibaseProvider = session.getProvider(LiquibaseConnectionProvider.class); JpaConnectionProviderFactory jpaProviderFactory = (JpaConnectionProviderFactory) session.getKeycloakSessionFactory().getProviderFactory(JpaConnectionProvider.class); this.dbConnection = jpaProviderFactory.getConnection(); String defaultSchema = jpaProviderFactory.getSchema(); try { Liquibase liquibase = liquibaseProvider.getLiquibase(dbConnection, defaultSchema); this.lockService = new CustomLockService(); lockService.setChangeLogLockWaitTime(factory.getLockWaitTimeoutMillis()); lockService.setDatabase(liquibase.getDatabase()); initialized = true; } catch (LiquibaseException exception) { safeRollbackConnection(); safeCloseConnection(); throw new IllegalStateException(exception); } } }