Social Login - 폼 인증 & 카카오 추가 및 리팩토링 - Model

img_21.png

Attributes

소셜 별로 사용자 정보 응답 JSON 형태가 조금씩 다르다. 각각 적절한 Attribute를 생성하여 이 클래스를 통해 참조한다.


ProviderUser

소셜 별로 사용자 정보를 얻을 수 있는 방식이 다르기 때문에 공통화 하기 위해 인터페이스로 정의한다.

일반 폼 인증 같은 경우 provider, attributes, oAuth2User 정보는 필요없기 때문에 default로 만들었다.


OAuth2ProviderUser

소셜 별로 공통적으로 가져올 수 있는 부분을 추상화한 클래스로, 이 클래스를 상속받은 클래스의 생성자에서 적절한 attribute를 넘겨주게 된다.


PrincipalUser

인증 수단으로 OAuth 인증, Oidc 인증, 폼 인증 이 있고 최종 SecurityContext에 저장되는 principal을 공통화 하기 위한 클래스다.

OAuth2UserServiceloadUser() 메서드에서 이 객체를 반환하면 SecurityContext에 저장된다.


social

GoogleUSer

Attributes에 대한 정보는 converterarrow-up-right에서 확인할 수 있다.


KakaoUser

Attributes에 대한 정보는 converterarrow-up-right에서 확인할 수 있다.


KakaoOidcUSer

Attributes에 대한 정보는 converterarrow-up-right에서 확인할 수 있다.


Attributes에 대한 정보는 converterarrow-up-right에서 확인할 수 있다.


FormUser

일반적인 폼 인증 객체


User

최종 데이터베이스에 저장될 객체

Last updated