diff --git a/authorization-server/src/main/java/io/bluemoon/authorizationserver/config/WebSecurityConfig.java b/authorization-server/src/main/java/io/bluemoon/authorizationserver/config/WebSecurityConfig.java index e49c83a..3499059 100644 --- a/authorization-server/src/main/java/io/bluemoon/authorizationserver/config/WebSecurityConfig.java +++ b/authorization-server/src/main/java/io/bluemoon/authorizationserver/config/WebSecurityConfig.java @@ -1,6 +1,8 @@ package io.bluemoon.authorizationserver.config; +import io.bluemoon.authorizationserver.config.handler.CustomAuthFailureHandler; import io.bluemoon.authorizationserver.service.user.CustomUserDetailsServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.annotation.Order; @@ -12,7 +14,9 @@ import org.springframework.security.config.annotation.web.configuration.EnableWe import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.crypto.password.NoOpPasswordEncoder; //import org.springframework.security.oauth2.config.annotation.web.configuration.EnableOAuth2Client; +import org.springframework.security.web.authentication.AuthenticationFailureHandler; import org.springframework.security.web.authentication.LoginUrlAuthenticationEntryPoint; +import org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler; import org.springframework.security.web.csrf.CsrfFilter; import org.springframework.web.filter.CharacterEncodingFilter; @@ -22,6 +26,9 @@ import org.springframework.web.filter.CharacterEncodingFilter; @Order(-1) public class WebSecurityConfig extends WebSecurityConfigurerAdapter { + @Autowired + CustomAuthFailureHandler customAuthFailureHandler; + private CustomUserDetailsServiceImpl customUserDetailsService; public WebSecurityConfig( @@ -58,8 +65,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { // .loginPage("/login").permitAll() //// .defaultSuccessUrl("http://localhost:8765/login") // .failureUrl("/loginFailure") -// .and() -// .headers().frameOptions().disable() + // .and() // .exceptionHandling() // .authenticationEntryPoint(new LoginUrlAuthenticationEntryPoint("/login")) @@ -78,8 +84,11 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { .and() .authorizeRequests().anyRequest().authenticated() .and() + .headers().frameOptions().disable() + .and() .oauth2Login() - .loginPage("/login").defaultSuccessUrl("/mk-auth/login/success").permitAll(); +// .loginPage("/login").defaultSuccessUrl("/mk-auth/login/success").permitAll(); + .loginPage("/login").permitAll().defaultSuccessUrl("/login/success", true).failureHandler(customAuthFailureHandler); // .and() // .addFilterBefore(filter, CsrfFilter.class); diff --git a/authorization-server/src/main/java/io/bluemoon/authorizationserver/config/handler/CustomAuthFailureHandler.java b/authorization-server/src/main/java/io/bluemoon/authorizationserver/config/handler/CustomAuthFailureHandler.java index edd86b5..67351f6 100644 --- a/authorization-server/src/main/java/io/bluemoon/authorizationserver/config/handler/CustomAuthFailureHandler.java +++ b/authorization-server/src/main/java/io/bluemoon/authorizationserver/config/handler/CustomAuthFailureHandler.java @@ -1,4 +1,21 @@ package io.bluemoon.authorizationserver.config.handler; -public class CustomAuthFailureHandler { +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.core.AuthenticationException; +import org.springframework.security.web.authentication.AuthenticationFailureHandler; +import org.springframework.stereotype.Component; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +@Component +@Slf4j +public class CustomAuthFailureHandler implements AuthenticationFailureHandler { + @Override + public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response, AuthenticationException exception) throws IOException, ServletException { + // logging 붙이기 + System.out.println(exception.getMessage()); + } } diff --git a/authorization-server/src/main/java/io/bluemoon/authorizationserver/config/handler/CustomAuthSuccessHandler.java b/authorization-server/src/main/java/io/bluemoon/authorizationserver/config/handler/CustomAuthSuccessHandler.java index 104b1f6..0ecc3bd 100644 --- a/authorization-server/src/main/java/io/bluemoon/authorizationserver/config/handler/CustomAuthSuccessHandler.java +++ b/authorization-server/src/main/java/io/bluemoon/authorizationserver/config/handler/CustomAuthSuccessHandler.java @@ -1,4 +1,21 @@ package io.bluemoon.authorizationserver.config.handler; -public class CustomAuthSuccessHandler { +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.core.Authentication; +import org.springframework.security.web.authentication.AuthenticationSuccessHandler; +import org.springframework.stereotype.Component; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +@Slf4j +@Component +public class CustomAuthSuccessHandler implements AuthenticationSuccessHandler { + @Override + public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException { + // logging 붙이기 + + } } diff --git a/authorization-server/src/main/java/io/bluemoon/authorizationserver/controller/sso/SsoController.java b/authorization-server/src/main/java/io/bluemoon/authorizationserver/controller/sso/SsoController.java index 2db69f0..7838309 100644 --- a/authorization-server/src/main/java/io/bluemoon/authorizationserver/controller/sso/SsoController.java +++ b/authorization-server/src/main/java/io/bluemoon/authorizationserver/controller/sso/SsoController.java @@ -81,18 +81,20 @@ public class SsoController { return user; } - @GetMapping(value = "/login/success") - public String loginComplete(@SocialUser User user) { - System.out.println(user); - return "redirect:/user"; - } - // @GetMapping(value = "/login/success") // @ResponseBody -// public String test2() { -// return "kkk"; +// public String loginComplete(@SocialUser User user) { +// System.out.println(user); +// return "redirect:/mk-auth/login/user"; +//// return "why not"; // } + @GetMapping(value = "/login/success") + @ResponseBody + public String test2() { + return "kkk"; + } + diff --git a/authorization-server/src/main/resources/templates/login.ftl b/authorization-server/src/main/resources/templates/login.ftl index 7b6bd3d..5998323 100644 --- a/authorization-server/src/main/resources/templates/login.ftl +++ b/authorization-server/src/main/resources/templates/login.ftl @@ -18,11 +18,11 @@