토큰 기반 인증의 특징

 

  1. 토큰에 포함된 인증된 사용자 정보를 서버 측에서 별도로 관리하지 않는다.
  2. 사용자 인증 정보가 포함된 토큰을 헤더에 포함시켜서, request 전송 시 인증 수단으로 사용한다.
  3. 세션에 비해 상대적으로 많은 네트워크 트래픽을 사용한다.
  4. 보안성 측면에서 조금 더 불리하다.(서버 측에서 토큰을 관리하지 않기 때문에)
  5. 서버의 확장성 면에서 유리하고, 세션 불일치 같은 문제가 발생하지 않는다.
  6. 민감한 정보는 토큰에 포함시키지 말아야 한다.(토큰에 포함된 사용자 정보는 토큰 특성상 암호화가 되지 않는다.)
  7. 토큰이 만료되기 전까지는 무효화 X

토큰 기반 인증 흐름

 

ex) 로그인 예시

(클라이언트) 사용자 로그인 > (서버) 디비와 데이터 비교하여 사용자 확인 > 확인이 완료되면 토큰 사용자에게 발급 > 

사용자가 데이터 요청 (with 토큰) > 토큰 검증 > 검증이 유효하면 응답

+ Recent posts