Framework & Library/Spring Security

Spring Security - 구글 로그인 사용자 정보 받기

임빈영 2021. 10. 2. 17:34

구글 로그인 후처리

PrincipalOauth2UserService 클래스 생성
@Service
public class PrincipalOauth2UserService extends DefaultOAuth2UserService {

    @Override
    public OAuth2User loadUser(OAuth2UserRequest userRequest) throws OAuth2AuthenticationException {
    
        return super.loadUser(userRequest);
    }
}

ㆍ config 패키지에 oauth 패키지를 생성한 후 패키지 내에 PrincipalOauth2UserService 클래스를 위 코드와 같이 생성한다.

ㆍ 해당 클래스는 소셜 로그인에 성공한 후 후속조치를 수행하는 OAuth2UserService 인터페이스의 구현체인 DefaultOAuth2USerService를 상속받는 형태이다.

ㆍ loadUser() 메서드를 오버라이딩 함으로써 소셜 로그인에 성공한 후 사용자 정보를 받기 위한 후처리가 가능하다.

 

SecurityConfig 클래스 수정

 

ㆍ PrincipalOauth2UserService 객체를 SecurityConfig 클래스에 선언을 한다.

ㆍ configure() 메서드에 위에 표시된 코드를 추가해줌으로써 소셜 로그인 성공 시 후처리에 대한 설정을 마무리한다.

 

로그인 사용자 정보 받기

 

PrincipalOauth2UserService 클래스의 loadUser() 메서드에 위 코드와 같이 로그인 사용자에 대한 정보를 확인할 수 있는 코드를 추가한다.


테스트

로그인 페이지

 

ㆍ 서버를 실행시킨 후 로그인 페이지의 구글 로그인 링크를 클릭한다.

 

구글 로그인 페이지

 

ㆍ 구글 로그인 페이지에서 본인 계정으로 로그인을 수행한다.

 

로그인 사용자 정보 확인

 

ㆍ 구글 로그인이 성공적으로 수행되면 콘솔 창에 로그인한 사용자의 정보가 표시된다.


 

GitHub - qlsdud0604/spring-security-basic: 스프링 시큐리티의 기초를 학습하는 공간

스프링 시큐리티의 기초를 학습하는 공간. Contribute to qlsdud0604/spring-security-basic development by creating an account on GitHub.

github.com

 

728x90