Browse Source

Allow configuring oauth2 authentication handlers

Fixes gh-4472
Joe Grandja 8 years ago
parent
commit
c06975080f

+ 14 - 0
config/src/main/java/org/springframework/security/config/annotation/web/configurers/oauth2/client/OAuth2LoginConfigurer.java

@@ -28,6 +28,8 @@ import org.springframework.security.oauth2.client.registration.ClientRegistratio
 import org.springframework.security.oauth2.client.registration.InMemoryClientRegistrationRepository;
 import org.springframework.security.oauth2.client.user.OAuth2UserService;
 import org.springframework.security.oauth2.core.user.OAuth2User;
+import org.springframework.security.web.authentication.AuthenticationFailureHandler;
+import org.springframework.security.web.authentication.AuthenticationSuccessHandler;
 import org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter;
 import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
 import org.springframework.security.web.util.matcher.RequestMatcher;
@@ -88,6 +90,18 @@ public final class OAuth2LoginConfigurer<H extends HttpSecurityBuilder<H>> exten
 		return this;
 	}
 
+	public OAuth2LoginConfigurer<H> successHandler(AuthenticationSuccessHandler authenticationSuccessHandler) {
+		Assert.notNull(authenticationSuccessHandler, "authenticationSuccessHandler cannot be null");
+		this.authorizationCodeAuthenticationFilterConfigurer.successHandler(authenticationSuccessHandler);
+		return this;
+	}
+
+	public OAuth2LoginConfigurer<H> failureHandler(AuthenticationFailureHandler authenticationFailureHandler) {
+		Assert.notNull(authenticationFailureHandler, "authenticationFailureHandler cannot be null");
+		this.authorizationCodeAuthenticationFilterConfigurer.failureHandler(authenticationFailureHandler);
+		return this;
+	}
+
 	public AuthorizationEndpointConfig authorizationEndpoint() {
 		return this.authorizationEndpoint;
 	}