Spring OAuth2 - SpringMVC 객체 접근

Tadap·2023년 9월 13일
0

Spring Security

목록 보기
5/7

인증 이후 인증객체 접근은 크게 2가지로 가능하다

  1. Authentication
    OAuth2AuthenticationToken타입 객체로 저장이 되는데 이걸 이용한다.

  2. @AuthenticationPrincipal
    AuthenticationPrincipalArgumentResolver에서 요청을 가로채어 바인딩한다.

    RestAPI나 Controller에서 사용한다.

    예시 코드를 보자

    1. SecurityContext에서 꺼내기

    @GetMapping()
    public void test(){
    		OAuth2AuthenticationToken auth1 =
    (OAuth2AuthenticationToken)SecurityContextHolder.getContext().getAuthentication;
    } 

    2. Authentication에서 꺼내기

    @GetMapping()
    public void test(Authentication authentication){
    		OAuth2AuthenticationToken auth2 = (OAuth2AuthenticationToken) authentication;
    } 

    3. @AuthenticationPrincipal

     @GetMapping()
    public void test(@AuthenticationPrincipal OAuth2User oauth2User){
    
    }	

    아무래도 3번 방식이 젤 편할것 같다.

    이걸 통해서 인증 객체를 받아서. 로그인 처리 및 기타 기능을 구현이 가능하다

0개의 댓글