각 SNS에서 반환해주는 값인 Map<String, Object> attribute에서 우리가 필요한 값들을 정의해 놓은 객체.
Naver, Kakao 두 곳에서 반환해주는 api 스펙이 다르기 때문에 각각 생성자를 구현 해줌.
-> static method 인 of 에서 registrationId를 통해 구분.
9bd1a21 : (String)을 통해 type casting을 해주기 보다는 정적 매소드를 통해 변경.
providerId도 kakao, naver 다른 변수에 저장되어 있기 때문에 따로 파싱하여 저장.
77a4f04 (CustomOAuth2UserService)
SNS에서 받아오는 공통 속성들을 OAuth2Attribute 객체에 담음.
기존 Service에서 파싱했던 로직을 OAuth2Attribute 객체의 생성자에 위임.
4ccff12, fd5563d
CientRegistration.Builder로 작성했던 코드 -> .yml 설정으로 바꿔 줬음.
54e509f
처음 로직 -> oAuth2User 객체를 이용해서 getName() 매소드로 providerId 를 가져왔음.
하지만, kakao와 naver 각각 다른 값이 담겨오기 때문에 OAuth2User 객체를 상속받은 PrincipalDetails 객체를 구현해 해당 객체에서 providerId를 가져올 수 있게 구현함.
e64b10f, 9bd1a21 (OAtuh2Attribute 객체 관련)
각 SNS에서 반환해주는 값인 Map<String, Object> attribute에서 우리가 필요한 값들을 정의해 놓은 객체.
Naver, Kakao 두 곳에서 반환해주는 api 스펙이 다르기 때문에 각각 생성자를 구현 해줌. -> static method 인 of 에서 registrationId를 통해 구분.
9bd1a21 : (String)을 통해 type casting을 해주기 보다는 정적 매소드를 통해 변경. providerId도 kakao, naver 다른 변수에 저장되어 있기 때문에 따로 파싱하여 저장.
77a4f04 (CustomOAuth2UserService)
SNS에서 받아오는 공통 속성들을 OAuth2Attribute 객체에 담음. 기존 Service에서 파싱했던 로직을 OAuth2Attribute 객체의 생성자에 위임.
4ccff12, fd5563d
CientRegistration.Builder로 작성했던 코드 -> .yml 설정으로 바꿔 줬음.
54e509f
처음 로직 -> oAuth2User 객체를 이용해서 getName() 매소드로 providerId 를 가져왔음. 하지만, kakao와 naver 각각 다른 값이 담겨오기 때문에 OAuth2User 객체를 상속받은 PrincipalDetails 객체를 구현해 해당 객체에서 providerId를 가져올 수 있게 구현함.
d5518d2 (OAuth2User 상속 받은 PrincipalDetails 객체)
handler에서 활용하기 위해 생성
d24aa4c
mockMvc를 활용해 user/info 요청 테스트