From c06975080fddc8cb38739ddc1238f35c4783e209 Mon Sep 17 00:00:00 2001 From: Joe Grandja Date: Mon, 21 Aug 2017 16:51:24 -0400 Subject: [PATCH] Allow configuring oauth2 authentication handlers Fixes gh-4472 --- .../oauth2/client/OAuth2LoginConfigurer.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/config/src/main/java/org/springframework/security/config/annotation/web/configurers/oauth2/client/OAuth2LoginConfigurer.java b/config/src/main/java/org/springframework/security/config/annotation/web/configurers/oauth2/client/OAuth2LoginConfigurer.java index 36fc41e89c..ea410026d3 100644 --- a/config/src/main/java/org/springframework/security/config/annotation/web/configurers/oauth2/client/OAuth2LoginConfigurer.java +++ b/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> exten return this; } + public OAuth2LoginConfigurer successHandler(AuthenticationSuccessHandler authenticationSuccessHandler) { + Assert.notNull(authenticationSuccessHandler, "authenticationSuccessHandler cannot be null"); + this.authorizationCodeAuthenticationFilterConfigurer.successHandler(authenticationSuccessHandler); + return this; + } + + public OAuth2LoginConfigurer failureHandler(AuthenticationFailureHandler authenticationFailureHandler) { + Assert.notNull(authenticationFailureHandler, "authenticationFailureHandler cannot be null"); + this.authorizationCodeAuthenticationFilterConfigurer.failureHandler(authenticationFailureHandler); + return this; + } + public AuthorizationEndpointConfig authorizationEndpoint() { return this.authorizationEndpoint; }