diff --git a/pom.xml b/pom.xml
index 2bb325b8966ec78c2857ab7ba9d58e8e64b48f53..cd368885b9b9d68c375844cfc09e636932b9a9cb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -215,11 +215,14 @@
 			<scope>test</scope>
 		</dependency>
 		<dependency>
-			<groupId>
-				com.github.leleuj.springframework.security
-			</groupId>
-			<artifactId>spring-security-oauth-client</artifactId>
-			<version>1.0.0</version>
+			<groupId>org.pac4j</groupId>
+			<artifactId>spring-security-pac4j</artifactId>
+			<version>2.1.2</version>
+		</dependency>
+		<dependency>
+			<groupId>org.pac4j</groupId>
+			<artifactId>pac4j-oauth</artifactId>
+			<version>1.9.7</version>
 		</dependency>
 		<dependency>
 			<groupId>com.corundumstudio.socketio</groupId>
diff --git a/src/main/java/de/thm/arsnova/config/SecurityConfig.java b/src/main/java/de/thm/arsnova/config/SecurityConfig.java
index 5ba03fa326448f8a5566664d80e108b8564227c8..f6a4c86927a31641504c92a07f51bd787ad25853 100644
--- a/src/main/java/de/thm/arsnova/config/SecurityConfig.java
+++ b/src/main/java/de/thm/arsnova/config/SecurityConfig.java
@@ -17,9 +17,6 @@
  */
 package de.thm.arsnova.config;
 
-import com.github.leleuj.ss.oauth.client.authentication.OAuthAuthenticationProvider;
-import com.github.leleuj.ss.oauth.client.web.OAuthAuthenticationEntryPoint;
-import com.github.leleuj.ss.oauth.client.web.OAuthAuthenticationFilter;
 import de.thm.arsnova.CASLogoutSuccessHandler;
 import de.thm.arsnova.CasUserDetailsService;
 import de.thm.arsnova.LoginAuthenticationFailureHandler;
@@ -28,10 +25,12 @@ import de.thm.arsnova.security.ApplicationPermissionEvaluator;
 import de.thm.arsnova.security.CustomLdapUserDetailsMapper;
 import de.thm.arsnova.security.DbUserDetailsService;
 import org.jasig.cas.client.validation.Cas20ProxyTicketValidator;
-import org.scribe.up.provider.impl.FacebookProvider;
-import org.scribe.up.provider.impl.Google2Provider;
-import org.scribe.up.provider.impl.Google2Provider.Google2Scope;
-import org.scribe.up.provider.impl.TwitterProvider;
+import org.pac4j.core.client.Client;
+import org.pac4j.core.config.Config;
+import org.pac4j.oauth.client.FacebookClient;
+import org.pac4j.oauth.client.Google2Client;
+import org.pac4j.oauth.client.TwitterClient;
+import org.pac4j.springframework.security.web.CallbackFilter;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -88,6 +87,7 @@ import java.util.List;
 @EnableWebSecurity
 @Profile("!test")
 public class SecurityConfig extends WebSecurityConfigurerAdapter {
+	private static final String OAUTH_CALLBACK_PATH_SUFFIX = "/auth/oauth_callback";
 	private static final Logger logger = LoggerFactory.getLogger(SecurityConfig.class);
 
 	@Autowired
@@ -140,14 +140,12 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
 			http.addFilter(casAuthenticationFilter());
 			http.addFilter(casLogoutFilter());
 		}
-		if (googleEnabled) {
-			http.addFilterAfter(googleFilter(), CasAuthenticationFilter.class);
-		}
-		if (facebookEnabled) {
-			http.addFilterAfter(facebookFilter(), CasAuthenticationFilter.class);
-		}
-		if (twitterEnabled) {
-			http.addFilterAfter(twitterFilter(), CasAuthenticationFilter.class);
+
+		if (facebookEnabled || googleEnabled || twitterEnabled) {
+			CallbackFilter callbackFilter = new CallbackFilter(oauthConfig());
+			callbackFilter.setSuffix(OAUTH_CALLBACK_PATH_SUFFIX);
+			callbackFilter.setDefaultUrl(rootUrl + apiPath + "/");
+			http.addFilterAfter(callbackFilter, CasAuthenticationFilter.class);
 		}
 	}
 
@@ -168,15 +166,12 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
 		}
 		if (googleEnabled) {
 			providers.add("google");
-			auth.authenticationProvider(googleAuthProvider());
 		}
 		if (facebookEnabled) {
 			providers.add("facebook");
-			auth.authenticationProvider(facebookAuthProvider());
 		}
 		if (twitterEnabled) {
 			providers.add("twitter");
-			auth.authenticationProvider(twitterAuthProvider());
 		}
 		logger.info("Enabled authentication providers: {}", providers);
 	}
@@ -328,7 +323,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
 	@Bean
 	public ServiceProperties casServiceProperties() {
 		ServiceProperties properties = new ServiceProperties();
-		properties.setService(rootUrl + servletContext.getContextPath() + "/login/cas");
+		properties.setService(rootUrl + apiPath + "/login/cas");
 		properties.setSendRenew(false);
 
 		return properties;
@@ -375,104 +370,45 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
 		return handler;
 	}
 
-	// Facebook Authentication Configuration
-
-	@Bean
-	public OAuthAuthenticationEntryPoint facebookEntryPoint() {
-		final OAuthAuthenticationEntryPoint entryPoint = new OAuthAuthenticationEntryPoint();
-		entryPoint.setProvider(facebookProvider());
-
-		return entryPoint;
-	}
-
-	@Bean
-	public FacebookProvider facebookProvider() {
-		final FacebookProvider provider = new FacebookProvider();
-		provider.setKey(facebookKey);
-		provider.setSecret(facebookSecret);
-		provider.setCallbackUrl(rootUrl + servletContext.getContextPath() + "/j_spring_facebook_security_check");
-
-		return provider;
-	}
-
-	@Bean
-	public OAuthAuthenticationFilter facebookFilter() throws Exception {
-		final OAuthAuthenticationFilter filter = new OAuthAuthenticationFilter("/j_spring_facebook_security_check");
-		filter.setProvider(facebookProvider());
-		filter.setAuthenticationManager(authenticationManager());
-		filter.setAuthenticationFailureHandler(failureHandler());
-		filter.setAuthenticationSuccessHandler(successHandler());
-
-		return filter;
-	}
-
-	@Bean
-	public OAuthAuthenticationProvider facebookAuthProvider() {
-		final OAuthAuthenticationProvider authProvider = new OAuthAuthenticationProvider();
-		authProvider.setProvider(facebookProvider());
-
-		return authProvider;
-	}
-
-	// Twitter Authentication Configuration
+	// OAuth Authentication Configuration
 
 	@Bean
-	public TwitterProvider twitterProvider() {
-		final TwitterProvider provider = new TwitterProvider();
-		provider.setKey(twitterKey);
-		provider.setSecret(twitterSecret);
-		provider.setCallbackUrl(rootUrl + servletContext.getContextPath() + "/j_spring_twitter_security_check");
-
-		return provider;
-	}
+	public Config oauthConfig() {
+		List<Client> clients = new ArrayList<>();
+		if (facebookEnabled) {
+			clients.add(facebookClient());
+		}
+		if (googleEnabled) {
+			clients.add(googleClient());
+		}
+		if (twitterEnabled) {
+			clients.add(twitterClient());
+		}
 
-	@Bean
-	public OAuthAuthenticationFilter twitterFilter() throws Exception {
-		final OAuthAuthenticationFilter filter = new OAuthAuthenticationFilter("/j_spring_twitter_security_check");
-		filter.setProvider(twitterProvider());
-		filter.setAuthenticationManager(authenticationManager());
-		filter.setAuthenticationFailureHandler(failureHandler());
-		filter.setAuthenticationSuccessHandler(successHandler());
-		return filter;
+		return new Config(rootUrl + apiPath + OAUTH_CALLBACK_PATH_SUFFIX, clients);
 	}
 
 	@Bean
-	public OAuthAuthenticationProvider twitterAuthProvider() {
-		final OAuthAuthenticationProvider authProvider = new OAuthAuthenticationProvider();
-		authProvider.setProvider(twitterProvider());
+	public FacebookClient facebookClient() {
+		final FacebookClient client = new FacebookClient(facebookKey, facebookSecret);
+		client.setCallbackUrl(rootUrl + apiPath + OAUTH_CALLBACK_PATH_SUFFIX + "?client_name=FacebookClient");
 
-		return authProvider;
+		return client;
 	}
 
-	// Google Authentication Configuration
-
 	@Bean
-	public Google2Provider googleProvider() {
-		final Google2Provider provider = new Google2Provider();
-		provider.setKey(googleKey);
-		provider.setSecret(googleSecret);
-		provider.setCallbackUrl(rootUrl + servletContext.getContextPath() + "/j_spring_google_security_check");
-		provider.setScope(Google2Scope.EMAIL);
-
-		return provider;
-	}
+	public TwitterClient twitterClient() {
+		final TwitterClient client = new TwitterClient(twitterKey, twitterSecret);
+		client.setCallbackUrl(rootUrl + apiPath + OAUTH_CALLBACK_PATH_SUFFIX + "?client_name=TwitterClient");
 
-	@Bean
-	public OAuthAuthenticationFilter googleFilter() throws Exception {
-		final OAuthAuthenticationFilter filter = new OAuthAuthenticationFilter("/j_spring_google_security_check");
-		filter.setProvider(googleProvider());
-		filter.setAuthenticationManager(authenticationManager());
-		filter.setAuthenticationFailureHandler(failureHandler());
-		filter.setAuthenticationSuccessHandler(successHandler());
-
-		return filter;
+		return client;
 	}
 
 	@Bean
-	public OAuthAuthenticationProvider googleAuthProvider() {
-		final OAuthAuthenticationProvider authProvider = new OAuthAuthenticationProvider();
-		authProvider.setProvider(googleProvider());
+	public Google2Client googleClient() {
+		final Google2Client client = new Google2Client(googleKey, googleSecret);
+		client.setCallbackUrl(rootUrl + apiPath + OAUTH_CALLBACK_PATH_SUFFIX + "?client_name=Google2Client");
 
-		return authProvider;
+		return client;
 	}
 }
diff --git a/src/main/java/de/thm/arsnova/controller/LoginController.java b/src/main/java/de/thm/arsnova/controller/LoginController.java
index 031eb38106fcbcac3d98474a6b3c1e56f5d52b84..119e7594e516d997bf2f1f250717d6605337fac3 100644
--- a/src/main/java/de/thm/arsnova/controller/LoginController.java
+++ b/src/main/java/de/thm/arsnova/controller/LoginController.java
@@ -23,10 +23,11 @@ import de.thm.arsnova.entities.User;
 import de.thm.arsnova.exceptions.UnauthorizedException;
 import de.thm.arsnova.services.IUserService;
 import de.thm.arsnova.services.UserSessionService;
-import org.scribe.up.provider.impl.FacebookProvider;
-import org.scribe.up.provider.impl.Google2Provider;
-import org.scribe.up.provider.impl.TwitterProvider;
-import org.scribe.up.session.HttpUserSession;
+import org.pac4j.core.context.J2EContext;
+import org.pac4j.core.exception.HttpAction;
+import org.pac4j.oauth.client.FacebookClient;
+import org.pac4j.oauth.client.Google2Client;
+import org.pac4j.oauth.client.TwitterClient;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -126,13 +127,13 @@ public class LoginController extends AbstractController {
 	private DaoAuthenticationProvider daoProvider;
 
 	@Autowired(required = false)
-	private TwitterProvider twitterProvider;
+	private TwitterClient twitterClient;
 
 	@Autowired(required = false)
-	private Google2Provider googleProvider;
+	private Google2Client google2Client;
 
 	@Autowired(required = false)
-	private FacebookProvider facebookProvider;
+	private FacebookClient facebookClient;
 
 	@Autowired(required = false)
 	private LdapAuthenticationProvider ldapAuthenticationProvider;
@@ -245,7 +246,7 @@ public class LoginController extends AbstractController {
 			@RequestParam(value = "failureurl", defaultValue = "/") String failureUrl,
 			final HttpServletRequest request,
 			final HttpServletResponse response
-	) throws IOException, ServletException {
+	) throws HttpAction, IOException, ServletException {
 		View result = null;
 
 		/* Use URLs from a request parameters for redirection as long as the
@@ -283,16 +284,17 @@ public class LoginController extends AbstractController {
 		if (casEnabled && "cas".equals(type)) {
 			casEntryPoint.commence(request, response, null);
 		} else if (twitterEnabled && "twitter".equals(type)) {
-			final String authUrl = twitterProvider.getAuthorizationUrl(new HttpUserSession(request));
-			result = new RedirectView(authUrl);
+			result = new RedirectView(
+					twitterClient.getRedirectAction(new J2EContext(request, response)).getLocation());
 		} else if (facebookEnabled && "facebook".equals(type)) {
-			facebookProvider.setFields("id,link");
-			facebookProvider.setScope("");
-			final String authUrl = facebookProvider.getAuthorizationUrl(new HttpUserSession(request));
-			result = new RedirectView(authUrl);
+			facebookClient.setFields("id,link");
+			facebookClient.setScope("");
+			result = new RedirectView(
+					facebookClient.getRedirectAction(new J2EContext(request, response)).getLocation());
 		} else if (googleEnabled && "google".equals(type)) {
-			final String authUrl = googleProvider.getAuthorizationUrl(new HttpUserSession(request));
-			result = new RedirectView(authUrl);
+			google2Client.setScope(Google2Client.Google2Scope.EMAIL);
+			result = new RedirectView(
+					google2Client.getRedirectAction(new J2EContext(request, response)).getLocation());
 		} else {
 			response.setStatus(HttpStatus.BAD_REQUEST.value());
 		}
diff --git a/src/main/java/de/thm/arsnova/entities/User.java b/src/main/java/de/thm/arsnova/entities/User.java
index 1fa71ada389f11fe9d0acf8336dba6d7aeeab0ad..c3ed9bf78650a2236a06631794b71ddf6204900a 100644
--- a/src/main/java/de/thm/arsnova/entities/User.java
+++ b/src/main/java/de/thm/arsnova/entities/User.java
@@ -19,9 +19,9 @@ package de.thm.arsnova.entities;
 
 import de.thm.arsnova.services.UserSessionService;
 import org.jasig.cas.client.authentication.AttributePrincipal;
-import org.scribe.up.profile.facebook.FacebookProfile;
-import org.scribe.up.profile.google.Google2Profile;
-import org.scribe.up.profile.twitter.TwitterProfile;
+import org.pac4j.oauth.profile.facebook.FacebookProfile;
+import org.pac4j.oauth.profile.google2.Google2Profile;
+import org.pac4j.oauth.profile.twitter.TwitterProfile;
 import org.springframework.security.authentication.AnonymousAuthenticationToken;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 
@@ -52,12 +52,12 @@ public class User implements Serializable {
 	}
 
 	public User(TwitterProfile profile) {
-		setUsername(profile.getScreenName());
+		setUsername(profile.getUsername());
 		setType(User.TWITTER);
 	}
 
 	public User(FacebookProfile profile) {
-		setUsername(profile.getLink());
+		setUsername(profile.getProfileUrl());
 		setType(User.FACEBOOK);
 	}
 
diff --git a/src/main/java/de/thm/arsnova/security/ApplicationPermissionEvaluator.java b/src/main/java/de/thm/arsnova/security/ApplicationPermissionEvaluator.java
index bf0614506309d12e2f9474dce177e6174c71a9d7..df5f6c9f83070c7e1648fca4c0dd125489683351 100644
--- a/src/main/java/de/thm/arsnova/security/ApplicationPermissionEvaluator.java
+++ b/src/main/java/de/thm/arsnova/security/ApplicationPermissionEvaluator.java
@@ -17,16 +17,16 @@
  */
 package de.thm.arsnova.security;
 
-import com.github.leleuj.ss.oauth.client.authentication.OAuthAuthenticationToken;
 import de.thm.arsnova.dao.IDatabaseDao;
 import de.thm.arsnova.entities.InterposedQuestion;
 import de.thm.arsnova.entities.Question;
 import de.thm.arsnova.entities.Session;
 import de.thm.arsnova.entities.User;
 import de.thm.arsnova.exceptions.UnauthorizedException;
-import org.scribe.up.profile.facebook.FacebookProfile;
-import org.scribe.up.profile.google.Google2Profile;
-import org.scribe.up.profile.twitter.TwitterProfile;
+import org.pac4j.oauth.profile.facebook.FacebookProfile;
+import org.pac4j.oauth.profile.google2.Google2Profile;
+import org.pac4j.oauth.profile.twitter.TwitterProfile;
+import org.pac4j.springframework.security.authentication.Pac4jAuthenticationToken;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.security.access.PermissionEvaluator;
@@ -153,18 +153,18 @@ public class ApplicationPermissionEvaluator implements PermissionEvaluator {
 			throw new UnauthorizedException();
 		}
 
-		if (authentication instanceof OAuthAuthenticationToken) {
+		if (authentication instanceof Pac4jAuthenticationToken) {
 			User user = null;
 
-			final OAuthAuthenticationToken token = (OAuthAuthenticationToken) authentication;
-			if (token.getUserProfile() instanceof Google2Profile) {
-				final Google2Profile profile = (Google2Profile) token.getUserProfile();
+			final Pac4jAuthenticationToken token = (Pac4jAuthenticationToken) authentication;
+			if (token.getProfile() instanceof Google2Profile) {
+				final Google2Profile profile = (Google2Profile) token.getProfile();
 				user = new User(profile);
-			} else if (token.getUserProfile() instanceof TwitterProfile) {
-				final TwitterProfile profile = (TwitterProfile) token.getUserProfile();
+			} else if (token.getProfile() instanceof TwitterProfile) {
+				final TwitterProfile profile = (TwitterProfile) token.getProfile();
 				user = new User(profile);
-			} else if (token.getUserProfile() instanceof FacebookProfile) {
-				final FacebookProfile profile = (FacebookProfile) token.getUserProfile();
+			} else if (token.getProfile() instanceof FacebookProfile) {
+				final FacebookProfile profile = (FacebookProfile) token.getProfile();
 				user = new User(profile);
 			}
 
diff --git a/src/main/java/de/thm/arsnova/services/UserService.java b/src/main/java/de/thm/arsnova/services/UserService.java
index 804ab96cc878e40b0200bf13b78e9587f060b623..32a4f0837fd0063d364760fb2c8a5a99ab741b3e 100644
--- a/src/main/java/de/thm/arsnova/services/UserService.java
+++ b/src/main/java/de/thm/arsnova/services/UserService.java
@@ -18,7 +18,6 @@
 package de.thm.arsnova.services;
 
 import com.codahale.metrics.annotation.Gauge;
-import com.github.leleuj.ss.oauth.client.authentication.OAuthAuthenticationToken;
 import de.thm.arsnova.dao.IDatabaseDao;
 import de.thm.arsnova.entities.DbUser;
 import de.thm.arsnova.entities.User;
@@ -27,9 +26,10 @@ import de.thm.arsnova.exceptions.NotFoundException;
 import de.thm.arsnova.exceptions.UnauthorizedException;
 import org.apache.commons.lang.RandomStringUtils;
 import org.apache.commons.lang.StringUtils;
-import org.scribe.up.profile.facebook.FacebookProfile;
-import org.scribe.up.profile.google.Google2Profile;
-import org.scribe.up.profile.twitter.TwitterProfile;
+import org.pac4j.oauth.profile.facebook.FacebookProfile;
+import org.pac4j.oauth.profile.google2.Google2Profile;
+import org.pac4j.oauth.profile.twitter.TwitterProfile;
+import org.pac4j.springframework.security.authentication.Pac4jAuthenticationToken;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -184,7 +184,7 @@ public class UserService implements IUserService {
 
 		User user = null;
 
-		if (authentication instanceof OAuthAuthenticationToken) {
+		if (authentication instanceof Pac4jAuthenticationToken) {
 			user = getOAuthUser(authentication);
 		} else if (authentication instanceof CasAuthenticationToken) {
 			final CasAuthenticationToken token = (CasAuthenticationToken) authentication;
@@ -213,15 +213,15 @@ public class UserService implements IUserService {
 
 	private User getOAuthUser(final Authentication authentication) {
 		User user = null;
-		final OAuthAuthenticationToken token = (OAuthAuthenticationToken) authentication;
-		if (token.getUserProfile() instanceof Google2Profile) {
-			final Google2Profile profile = (Google2Profile) token.getUserProfile();
+		final Pac4jAuthenticationToken token = (Pac4jAuthenticationToken) authentication;
+		if (token.getProfile() instanceof Google2Profile) {
+			final Google2Profile profile = (Google2Profile) token.getProfile();
 			user = new User(profile);
-		} else if (token.getUserProfile() instanceof TwitterProfile) {
-			final TwitterProfile profile = (TwitterProfile) token.getUserProfile();
+		} else if (token.getProfile() instanceof TwitterProfile) {
+			final TwitterProfile profile = (TwitterProfile) token.getProfile();
 			user = new User(profile);
-		} else if (token.getUserProfile() instanceof FacebookProfile) {
-			final FacebookProfile profile = (FacebookProfile) token.getUserProfile();
+		} else if (token.getProfile() instanceof FacebookProfile) {
+			final FacebookProfile profile = (FacebookProfile) token.getProfile();
 			user = new User(profile);
 		}
 		return user;
diff --git a/src/test/java/de/thm/arsnova/config/TestSecurityConfig.java b/src/test/java/de/thm/arsnova/config/TestSecurityConfig.java
index eabdd3bea1d723fa8862055a747b56522ed83189..ffac0f0f85896bf8e51b4b487e4176d2d22102d5 100644
--- a/src/test/java/de/thm/arsnova/config/TestSecurityConfig.java
+++ b/src/test/java/de/thm/arsnova/config/TestSecurityConfig.java
@@ -17,14 +17,11 @@
  */
 package de.thm.arsnova.config;
 
-import com.github.leleuj.ss.oauth.client.authentication.OAuthAuthenticationProvider;
-import com.github.leleuj.ss.oauth.client.web.OAuthAuthenticationEntryPoint;
-import com.github.leleuj.ss.oauth.client.web.OAuthAuthenticationFilter;
 import de.thm.arsnova.CasUserDetailsService;
 import org.jasig.cas.client.validation.Cas20ProxyTicketValidator;
-import org.scribe.up.provider.impl.FacebookProvider;
-import org.scribe.up.provider.impl.Google2Provider;
-import org.scribe.up.provider.impl.TwitterProvider;
+import org.pac4j.oauth.client.FacebookClient;
+import org.pac4j.oauth.client.Google2Client;
+import org.pac4j.oauth.client.TwitterClient;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Profile;
@@ -103,52 +100,17 @@ public class TestSecurityConfig extends SecurityConfig {
 	}
 
 	@Override
-	public FacebookProvider facebookProvider() {
+	public FacebookClient facebookClient() {
 		return null;
 	}
 
 	@Override
-	public OAuthAuthenticationFilter facebookFilter() {
+	public Google2Client googleClient() {
 		return null;
 	}
 
 	@Override
-	public OAuthAuthenticationProvider facebookAuthProvider() {
-		return null;
-	}
-
-	@Override
-	public OAuthAuthenticationEntryPoint facebookEntryPoint() {
-		return null;
-	}
-
-	@Override
-	public Google2Provider googleProvider() {
-		return null;
-	}
-
-	@Override
-	public OAuthAuthenticationFilter googleFilter() {
-		return null;
-	}
-
-	@Override
-	public OAuthAuthenticationProvider googleAuthProvider() {
-		return null;
-	}
-
-	@Override
-	public TwitterProvider twitterProvider() {
-		return null;
-	}
-
-	@Override
-	public OAuthAuthenticationFilter twitterFilter() {
-		return null;
-	}
-
-	@Override
-	public OAuthAuthenticationProvider twitterAuthProvider() {
+	public TwitterClient twitterClient() {
 		return null;
 	}
 }
diff --git a/src/test/java/de/thm/arsnova/services/UserServiceTest.java b/src/test/java/de/thm/arsnova/services/UserServiceTest.java
index 4ebc0efd455529071f4318005df587901862f97c..78eb90c346a65bbb0be58dbbde44f31bca816e4a 100644
--- a/src/test/java/de/thm/arsnova/services/UserServiceTest.java
+++ b/src/test/java/de/thm/arsnova/services/UserServiceTest.java
@@ -24,8 +24,10 @@ import de.thm.arsnova.entities.User;
 import org.jasig.cas.client.authentication.AttributePrincipalImpl;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.scribe.up.profile.google.Google2AttributesDefinition;
-import org.scribe.up.profile.google.Google2Profile;
+import org.pac4j.oauth.profile.JsonHelper;
+import org.pac4j.oauth.profile.google2.Google2AttributesDefinition;
+import org.pac4j.oauth.profile.google2.Google2Email;
+import org.pac4j.oauth.profile.google2.Google2Profile;
 import org.springframework.security.authentication.AnonymousAuthenticationToken;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 import org.springframework.security.core.GrantedAuthority;
@@ -41,7 +43,6 @@ import java.io.IOException;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
@@ -63,9 +64,13 @@ public class UserServiceTest {
 		socketid2user.put(UUID.randomUUID(), new User(new UsernamePasswordAuthenticationToken("ptsr00", UUID.randomUUID())));
 		socketid2user.put(UUID.randomUUID(), new User(new AttributePrincipalImpl("ptstr0")));
 
-		Map<String, Object> attributes = new HashMap<>();
-		attributes.put(Google2AttributesDefinition.EMAIL, "mail@host.com");
-		Google2Profile profile = new Google2Profile("ptsr00", attributes);
+		Google2Email email = new Google2Email();
+		email.setEmail("mail@host.com");
+		ArrayList<Google2Email> emails = new ArrayList<>();
+		emails.add(email);
+		Google2Profile profile = new Google2Profile();
+		profile.addAttribute(Google2AttributesDefinition.DISPLAY_NAME, "ptsr00");
+		profile.addAttribute(Google2AttributesDefinition.EMAILS, JsonHelper.toJSONString(emails));
 
 		socketid2user.put(UUID.randomUUID(), new User(profile));
 		List<GrantedAuthority> authorities = new ArrayList<>();