Refactoring of Authentication SPI and Picketlink to use ProviderSessions
Refactoring of ProviderSessionFactory to support dependencies between components Calling lifecycle methods Removing KeycloakRegistry
This commit is contained in:
1 parent
0d00db281a
commit
5aefe52ccc
74 files changed
+690
-315
No files matched your search
@@ -38,6 +38,7 @@ import org.jboss.resteasy.logging.Logger;
|
||||
import org.jboss.resteasy.plugins.server.undertow.UndertowJaxrsServer;
|
||||
import org.jboss.resteasy.spi.ResteasyDeployment;
|
||||
import org.keycloak.models.Config;
|
||||
import org.keycloak.provider.ProviderSessionFactory;
|
||||
import org.keycloak.services.filters.ClientConnectionFilter;
|
||||
import org.keycloak.theme.DefaultLoginThemeProvider;
|
||||
import org.keycloak.services.tmp.TmpAdminRedirectServlet;
|
||||
@@ -173,6 +174,8 @@ public class KeycloakServer {
|
||||
|
||||
private KeycloakSessionFactory factory;
|
||||
|
||||
private ProviderSessionFactory providerSessionFactory;
|
||||
|
||||
private UndertowJaxrsServer server;
|
||||
|
||||
public KeycloakServer() {
|
||||
@@ -187,6 +190,10 @@ public class KeycloakServer {
|
||||
return factory;
|
||||
}
|
||||
|
||||
public ProviderSessionFactory getProviderSessionFactory() {
|
||||
return providerSessionFactory;
|
||||
}
|
||||
|
||||
public UndertowJaxrsServer getServer() {
|
||||
return server;
|
||||
}
|
||||
@@ -275,6 +282,7 @@ public class KeycloakServer {
|
||||
server.deploy(di);
|
||||
|
||||
factory = ((KeycloakApplication) deployment.getApplication()).getFactory();
|
||||
providerSessionFactory = ((KeycloakApplication) deployment.getApplication()).getProviderSessionFactory();
|
||||
|
||||
setupDevConfig();
|
||||
|
||||
@@ -295,6 +303,7 @@ public class KeycloakServer {
|
||||
}
|
||||
|
||||
public void stop() {
|
||||
providerSessionFactory.close();
|
||||
factory.close();
|
||||
server.stop();
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ import org.keycloak.models.ClientModel;
|
||||
import org.keycloak.models.RealmModel;
|
||||
import org.keycloak.models.UserModel;
|
||||
import org.keycloak.models.utils.KeycloakModelUtils;
|
||||
import org.keycloak.provider.ProviderSession;
|
||||
import org.keycloak.representations.idm.UserRepresentation;
|
||||
import org.keycloak.services.managers.RealmManager;
|
||||
import org.keycloak.testsuite.rule.KeycloakRule;
|
||||
@@ -165,7 +166,7 @@ public class AssertEvents implements TestRule, AuditListenerFactory {
|
||||
}
|
||||
|
||||
@Override
|
||||
public AuditListener create() {
|
||||
public AuditListener create(ProviderSession providerSession) {
|
||||
return new AuditListener() {
|
||||
@Override
|
||||
public void onEvent(Event event) {
|
||||
|
||||
+2
-1
@@ -24,6 +24,7 @@ import org.keycloak.testsuite.pages.AccountUpdateProfilePage;
|
||||
import org.keycloak.testsuite.pages.AppPage;
|
||||
import org.keycloak.testsuite.pages.LoginPage;
|
||||
import org.keycloak.testsuite.pages.RegisterPage;
|
||||
import org.keycloak.testsuite.rule.AbstractKeycloakRule;
|
||||
import org.keycloak.testsuite.rule.KeycloakRule;
|
||||
import org.keycloak.testsuite.rule.LDAPRule;
|
||||
import org.keycloak.testsuite.rule.WebResource;
|
||||
@@ -62,7 +63,7 @@ public class AuthProvidersIntegrationTest {
|
||||
|
||||
// Configure LDAP
|
||||
ldapRule.getEmbeddedServer().setupLdapInRealm(appRealm);
|
||||
LdapTestUtils.setLdapPassword(appRealm, "john", "password");
|
||||
LdapTestUtils.setLdapPassword(providerSession, appRealm, "john", "password");
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@ package org.keycloak.testsuite.rule;
|
||||
import org.keycloak.models.Config;
|
||||
import org.keycloak.models.KeycloakSession;
|
||||
import org.keycloak.models.RealmModel;
|
||||
import org.keycloak.provider.ProviderSession;
|
||||
import org.keycloak.services.managers.RealmManager;
|
||||
import org.keycloak.testsuite.ApplicationServlet;
|
||||
|
||||
@@ -58,6 +59,7 @@ public class KeycloakRule extends AbstractKeycloakRule {
|
||||
|
||||
public void configure(KeycloakSetup configurer) {
|
||||
KeycloakSession session = server.getKeycloakSessionFactory().createSession();
|
||||
ProviderSession providerSession = server.getProviderSessionFactory().createSession();
|
||||
session.getTransaction().begin();
|
||||
|
||||
try {
|
||||
@@ -66,17 +68,21 @@ public class KeycloakRule extends AbstractKeycloakRule {
|
||||
RealmModel adminstrationRealm = manager.getRealm(Config.getAdminRealm());
|
||||
RealmModel appRealm = manager.getRealm("test");
|
||||
|
||||
configurer.providerSession = providerSession;
|
||||
configurer.config(manager, adminstrationRealm, appRealm);
|
||||
|
||||
session.getTransaction().commit();
|
||||
} finally {
|
||||
providerSession.close();
|
||||
session.close();
|
||||
}
|
||||
}
|
||||
|
||||
public interface KeycloakSetup {
|
||||
public abstract static class KeycloakSetup {
|
||||
|
||||
void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm);
|
||||
protected ProviderSession providerSession;
|
||||
|
||||
public abstract void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm);
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user