@Override public void postInit(KeycloakSessionFactory factory) { UserSecretAdapter userSecretAdapter = factory.getProviderFactory(UserSecretAdapter.class).create(null); singleton = new STSUsernamePasswordForm(userSecretAdapter); }
@Override protected void generateStatementsImpl() throws CustomChangeException { List<ProviderFactory> factories = kcSession.getKeycloakSessionFactory().getProviderFactories(UserStorageProvider.class); for (ProviderFactory factory : factories) { if (!factory.getId().equals(LDAPConstants.LDAP_PROVIDER)) { convertFedProviderToComponent(factory.getId(), null); } } }
@Before public void before() { String providerId = getProviderId(); ServiceLoader<AuditProviderFactory> factories = ServiceLoader.load(AuditProviderFactory.class); for (AuditProviderFactory f : factories) { if (f.getId().equals(providerId)) { factory = f; factory.init(Config.scope("audit", providerId)); } } provider = factory.create(null); }
@After public void after() { provider.clear(); provider.close(); factory.close(); }
@Override public void postInit(KeycloakSessionFactory factory) { super.postInit(factory); userSecretAdapter = factory.getProviderFactory(UserSecretAdapter.class).create(null); }
@Override public void update(KeycloakSession session) { List<ProviderFactory> factories = session.getKeycloakSessionFactory().getProviderFactories(UserStorageProvider.class); for (ProviderFactory factory : factories) { portUserFedToComponent(factory.getId()); } DBCollection realms = db.getCollection("realms"); try (DBCursor realmsCursor = realms.find()) { while (realmsCursor.hasNext()) { BasicDBObject realm = (BasicDBObject) realmsCursor.next(); realm.append("loginWithEmailAllowed", true); realm.append("duplicateEmailsAllowed", false); realms.save(realm); } } }
@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); }
@Test public void clearOld() { provider.onEvent(create(System.currentTimeMillis() - 30000, EventType.LOGIN, "realmId", "clientId", "userId", "127.0.0.1", "error")); provider.onEvent(create(System.currentTimeMillis() - 20000, EventType.LOGIN, "realmId", "clientId", "userId", "127.0.0.1", "error")); provider.onEvent(create(System.currentTimeMillis(), EventType.LOGIN, "realmId", "clientId", "userId", "127.0.0.1", "error")); provider.onEvent(create(System.currentTimeMillis(), EventType.LOGIN, "realmId", "clientId", "userId", "127.0.0.1", "error")); provider.onEvent(create(System.currentTimeMillis() - 30000, EventType.LOGIN, "realmId2", "clientId", "userId", "127.0.0.1", "error")); provider.close(); provider = factory.create(null); provider.clear("realmId", System.currentTimeMillis() - 10000); Assert.assertEquals(3, provider.createQuery().getResultList().size()); }
@Test public void clear() { provider.onEvent(create(System.currentTimeMillis() - 30000, EventType.LOGIN, "realmId", "clientId", "userId", "127.0.0.1", "error")); provider.onEvent(create(System.currentTimeMillis() - 20000, EventType.LOGIN, "realmId", "clientId", "userId", "127.0.0.1", "error")); provider.onEvent(create(System.currentTimeMillis(), EventType.LOGIN, "realmId", "clientId", "userId", "127.0.0.1", "error")); provider.onEvent(create(System.currentTimeMillis(), EventType.LOGIN, "realmId", "clientId", "userId", "127.0.0.1", "error")); provider.onEvent(create(System.currentTimeMillis() - 30000, EventType.LOGIN, "realmId2", "clientId", "userId", "127.0.0.1", "error")); provider.close(); provider = factory.create(null); provider.clear("realmId"); Assert.assertEquals(1, provider.createQuery().getResultList().size()); }
@Test public void query() { long oldest = System.currentTimeMillis() - 30000; long newest = System.currentTimeMillis() + 30000; provider.onEvent(create(EventType.LOGIN, "realmId", "clientId", "userId", "127.0.0.1", "error")); provider.onEvent(create(newest, EventType.REGISTER, "realmId", "clientId", "userId", "127.0.0.1", "error")); provider.onEvent(create(newest, EventType.REGISTER, "realmId", "clientId", "userId2", "127.0.0.1", "error")); provider.onEvent(create(EventType.LOGIN, "realmId2", "clientId", "userId", "127.0.0.1", "error")); provider.onEvent(create(oldest, EventType.LOGIN, "realmId", "clientId2", "userId", "127.0.0.1", "error")); provider.onEvent(create(EventType.LOGIN, "realmId", "clientId", "userId2", "127.0.0.1", "error")); provider.close(); provider = factory.create(null); Assert.assertEquals(5, provider.createQuery().client("clientId").getResultList().size()); Assert.assertEquals(5, provider.createQuery().realm("realmId").getResultList().size()); Assert.assertEquals(4, provider.createQuery().event(EventType.LOGIN).getResultList().size()); Assert.assertEquals(6, provider.createQuery().event(EventType.LOGIN, EventType.REGISTER).getResultList().size()); Assert.assertEquals(4, provider.createQuery().user("userId").getResultList().size()); Assert.assertEquals(1, provider.createQuery().user("userId").event(EventType.REGISTER).getResultList().size()); Assert.assertEquals(2, provider.createQuery().maxResults(2).getResultList().size()); Assert.assertEquals(1, provider.createQuery().firstResult(5).getResultList().size()); Assert.assertEquals(newest, provider.createQuery().maxResults(1).getResultList().get(0).getTime()); Assert.assertEquals(oldest, provider.createQuery().firstResult(5).maxResults(1).getResultList().get(0).getTime()); }