9. Authentication객체가 가질수 있는 2가지 타입
by 볼빵빵오춘기PrincipalOauth2UserService
어느 함수에 어떤걸 호출했는지 확인하고자 Sysout 내용 변경해서 확인해보기
@Override
public OAuth2User loadUser(OAuth2UserRequest userRequest) throws OAuth2AuthenticationException {
System.out.println("loadUser() - getClientRegistration : "+userRequest.getClientRegistration()); // 어떤 OAuth로 로그인했는지 확인가능
System.out.println("loadUser() - getAccessToken : "+userRequest.getAccessToken().getTokenValue());
// 구글 로그인 버튼 클릭 -> 구글 로그인 창 -> 로그인 완료 -> code를 리턴받음(OAuth-Client라이브러리) -> AccessToken 요청 => 여기까지가 userReequest 정보
// userReequest 정보 -> loadUser함수을 통해 구글 회원프로필 받음
System.out.println("loadUser() - getAttributes : "+super.loadUser(userRequest).getAttributes());
OAuth2User oAuth2User = super.loadUser(userRequest);
// 회원가입을 강제로 진행해 볼 예정
return super.loadUser(userRequest);
}
IndexController
@GetMapping("/test/oauth/login")
public @ResponseBody String testLogin(Authentication authentication){
System.out.println("/test/login");
OAuth2User oAuth2User = (OAuth2User) authentication.getPrincipal();
System.out.println("testLogin() - authentication"+oAuth2User.getAuthorities());
return "OAuth 세션 정보 확인하기";
}
PrinciplaDetails
OAuth2User implements 추가하고, 오버라이드한다.
public class PrincipalDetails implements UserDetails, OAuth2User {
@Override
public Map<String, Object> getAttributes() {
return null;
}
@Override
public String getName() {
return null;
}
'강의 따라하기 > Security1' 카테고리의 다른 글
11. 페이스북 로그인 완료 (0) | 2024.03.20 |
---|---|
10. 구글 로그인 및 자동 회원가입 진행 완료 (0) | 2024.03.20 |
8. 구글 회원 프로필 정보 받아보기 (0) | 2024.02.27 |
7. 구글 로그인 준비 (1) | 2024.02.27 |
6. 시큐리티 권한처리 (0) | 2024.02.27 |
블로그의 정보
Hello 춘기's world
볼빵빵오춘기