diff --git a/full/src/main/java/de/ids_mannheim/korap/authentication/LdapAuth3.java b/full/src/main/java/de/ids_mannheim/korap/authentication/LdapAuth3.java
index 8d3633f..a597f62 100644
--- a/full/src/main/java/de/ids_mannheim/korap/authentication/LdapAuth3.java
+++ b/full/src/main/java/de/ids_mannheim/korap/authentication/LdapAuth3.java
@@ -4,30 +4,41 @@
 
 package de.ids_mannheim.korap.authentication;
 
-import com.nimbusds.jose.JOSEException;
-import com.unboundid.ldap.sdk.*;
+import java.net.UnknownHostException;
+import java.security.GeneralSecurityException;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import javax.net.ssl.SSLSocketFactory;
+
+import org.apache.commons.text.StringSubstitutor;
+
+import com.unboundid.ldap.sdk.BindResult;
+import com.unboundid.ldap.sdk.Filter;
+import com.unboundid.ldap.sdk.LDAPConnection;
+import com.unboundid.ldap.sdk.LDAPException;
+import com.unboundid.ldap.sdk.LDAPSearchException;
+import com.unboundid.ldap.sdk.ResultCode;
+import com.unboundid.ldap.sdk.SearchResult;
+import com.unboundid.ldap.sdk.SearchResultEntry;
+import com.unboundid.ldap.sdk.SearchScope;
 import com.unboundid.util.NotNull;
 import com.unboundid.util.ssl.SSLUtil;
 import com.unboundid.util.ssl.TrustAllTrustManager;
 import com.unboundid.util.ssl.TrustStoreTrustManager;
-import de.ids_mannheim.korap.config.FullConfiguration;
-import de.ids_mannheim.korap.constant.TokenType;
-import de.ids_mannheim.korap.server.EmbeddedLdapServer;
-import org.apache.commons.text.StringSubstitutor;
 
-import javax.net.ssl.SSLSocketFactory;
-import java.net.UnknownHostException;
-import java.security.GeneralSecurityException;
-import java.util.*;
+import de.ids_mannheim.korap.server.EmbeddedLdapServer;
 
 
 /**
  * LDAP Login
  *
  * @author bodmer, margaretha, kupietz
- * @see APIAuthentication
  */
-public class LdapAuth3 extends APIAuthentication {
+public class LdapAuth3 {
 
     public static final int LDAP_AUTH_ROK = 0;
     public static final int LDAP_AUTH_RCONNECT = 1; // cannot connect to LDAP Server
@@ -39,9 +50,6 @@
     public static final int LDAP_AUTH_RNAUTH = 7; // User Account or Pwd unknown, or not authorized
     final static Boolean DEBUGLOG = false;        // log debug output.
 
-    public LdapAuth3(FullConfiguration config) throws JOSEException {
-        super(config);
-    }
 
     public static String getErrMessage(int code) {
         switch (code) {
@@ -293,11 +301,6 @@
         SSLUtil.setEnabledSSLCipherSuites(ciphers);
     }
 
-    @Override
-    public TokenType getTokenType() {
-        return TokenType.API;
-    }
-
     public static class LdapAuth3Result {
         final int errorCode;
         final Object value;
diff --git a/full/src/main/resources/default-config.xml b/full/src/main/resources/default-config.xml
index 53c0536..b8ce628 100644
--- a/full/src/main/resources/default-config.xml
+++ b/full/src/main/resources/default-config.xml
@@ -268,14 +268,6 @@
 	</bean>
 
 	<!-- authentication providers to use -->
-	<!-- <bean id="api_auth" class="de.ids_mannheim.korap.authentication.APIAuthentication"> 
-		<constructor-arg type="de.ids_mannheim.korap.config.KustvaktConfiguration" 
-		ref="kustvakt_config" /> </bean> -->
-
-	<bean id="ldap_auth" class="de.ids_mannheim.korap.authentication.LdapAuth3">
-		<constructor-arg type="de.ids_mannheim.korap.config.KustvaktConfiguration"
-			ref="kustvakt_config" />
-	</bean>
 
 	<!-- <bean id="openid_auth"
 		class="de.ids_mannheim.korap.authentication.OpenIDconnectAuthentication">
@@ -285,22 +277,20 @@
 			type="de.ids_mannheim.korap.interfaces.db.PersistenceClient" ref="kustvakt_db" />
 	</bean> -->
 
-	<bean id="session_auth"
+	<!-- <bean id="session_auth"
 		class="de.ids_mannheim.korap.authentication.SessionAuthentication">
 		<constructor-arg type="de.ids_mannheim.korap.config.KustvaktConfiguration"
 			ref="kustvakt_config" />
 		<constructor-arg type="de.ids_mannheim.korap.interfaces.EncryptionIface"
 			ref="kustvakt_encryption" />
-	</bean>
+	</bean> -->
 
 	<bean id="oauth2_auth"
 		class="de.ids_mannheim.korap.authentication.OAuth2Authentication" />
 	
 	<util:list id="kustvakt_authproviders"
 		value-type="de.ids_mannheim.korap.interfaces.AuthenticationIface">
-		<ref bean="ldap_auth" />
-		<ref bean="session_auth" />
-		<!-- <ref bean="api_auth" /> -->
+		<!-- <ref bean="session_auth" /> -->
 		<!-- <ref bean="openid_auth" /> -->
 		<ref bean="oauth2_auth" />
 	</util:list>
