시작이 반

jwt 본문

Programming/Spring

jwt

G_Gi 2021. 12. 21. 18:57
SMALL

Authentication 인증 : 로그인(spring security) ->  jwt생성(유저정보로)

                                                          -> SecurityContextHolder 인증객체 설정

 

Authorization 인가 : api 접근 -> jwt filter : 토큰 유효한지 확인 수행, 정상 수행 -> SecurityContextHolder에 인증 설정

 

 

 

 

Token Provider : 토큰의 생성, 토큰의 유효성 검증 등을 담당

 

Jwt filter : httpRequest 헤더에서 토큰을 가져와서 securityContextHolder에 저장

 

JwtSecuritConfig : Custom한 필터(JwtFilter)를 Security로직에 추가

 

JwtAuthenticationEntryPoint : 유효한 자격증명이 아니면 401에러

 

JwtAccessDeniedHandler : 필요한 권한이 존재하지 않으면 403에러

 

 

인증 순서

  1. 로그인 API접근
  2. authenticationManagerBuilder.getObject().authenticate() 이때 loadUserByUsername가 실행되고 DB에서 user정보를 가져오고 이를 통해 Authentiaction을 생성
  3. SecurityContextHolder에 Authentiaction를 저장
  4. Authentiaction를 통해 JWT를 생성

 

 

인가 순서

  1. API 접근
  2. Jwt filter : Token Provider를 이용해서 토큰 유효한지 확인  
    1. 유효하면 : 토큰을 통해 인증정보를 생성하고 SecurityContext에 저장
    2. 유효하지 않으면 : handler 처리(JwtAuthenticationEntryPoint )
  3. SecurityContextHolder에 인증 설정

 

 

 

 

 

--미완--

LIST

'Programming > Spring' 카테고리의 다른 글

[Spring] 스프링 시큐리티 보일러 플레이트  (0) 2023.06.07
[Spring] 필터, 인터셉터, AOP  (2) 2022.08.17
[Spring] BindingResult, @Valid  (0) 2021.05.27
[Spring]Test 메모리 DB사용  (0) 2021.05.25
[Spring] 생명주기  (0) 2021.05.21