인증 이후 인증객체 접근은 크게 2가지로 가능하다
Authentication
OAuth2AuthenticationToken
타입 객체로 저장이 되는데 이걸 이용한다.
@AuthenticationPrincipal
AuthenticationPrincipalArgumentResolver
에서 요청을 가로채어 바인딩한다.
RestAPI나 Controller에서 사용한다.
예시 코드를 보자
@GetMapping()
public void test(){
OAuth2AuthenticationToken auth1 =
(OAuth2AuthenticationToken)SecurityContextHolder.getContext().getAuthentication;
}
@GetMapping()
public void test(Authentication authentication){
OAuth2AuthenticationToken auth2 = (OAuth2AuthenticationToken) authentication;
}
@GetMapping()
public void test(@AuthenticationPrincipal OAuth2User oauth2User){
}
아무래도 3번 방식이 젤 편할것 같다.
이걸 통해서 인증 객체를 받아서. 로그인 처리 및 기타 기능을 구현이 가능하다