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

Attributes
소셜 별로 사용자 정보 응답 JSON 형태가 조금씩 다르다. 각각 적절한 Attribute를 생성하여 이 클래스를 통해 참조한다.
ProviderUser
소셜 별로 사용자 정보를 얻을 수 있는 방식이 다르기 때문에 공통화 하기 위해 인터페이스로 정의한다.
일반 폼 인증 같은 경우
provider,attributes,oAuth2User정보는 필요없기 때문에 default로 만들었다.
OAuth2ProviderUser
소셜 별로 공통적으로 가져올 수 있는 부분을 추상화한 클래스로, 이 클래스를 상속받은 클래스의 생성자에서 적절한
attribute를 넘겨주게 된다.
PrincipalUser
인증 수단으로 OAuth 인증, Oidc 인증, 폼 인증 이 있고 최종
SecurityContext에 저장되는principal을 공통화 하기 위한 클래스다.OAuth2UserService 의
loadUser()메서드에서 이 객체를 반환하면SecurityContext에 저장된다.
social
GoogleUSer
Attributes에 대한 정보는 converter에서 확인할 수 있다.
KakaoUser
Attributes에 대한 정보는 converter에서 확인할 수 있다.
KakaoOidcUSer
Attributes에 대한 정보는 converter에서 확인할 수 있다.
NaverUSer
Attributes에 대한 정보는 converter에서 확인할 수 있다.
FormUser
일반적인 폼 인증 객체
User
최종 데이터베이스에 저장될 객체
Last updated