Django_ 인증

mkhome·2021년 10월 29일
0

django

목록 보기
4/6

Django 인증방식 (크게 3가지)

  1. 세션인증
  2. 토큰인증
  3. JWT와 같은 3rd 파티 인증

DRF Token과 JWT 차이점

  1. DRF TOKEN
    • 토큰 하나로 모든 사용자 세션 처리
    • 토큰에 타임 스탬프 불포함
  2. JWT Token
    • 세션 하나당 토큰 하나 발급
    • 토큰마다 만료시간이 정해진 타임스탬프 포함

DB접근 등 처리과정 차이

  1. DRF TOKEN

    • 사용자 계정과 토큰 관계를 통해 DB 접근
    • 사용자 계정 상태 검사
    • 사용자 인증
  2. JWT TOKEN

    • 토큰 디코드 (객체 정보 수신)
    • 토큰 타임스탬프 검사 (만료여부)
    • 토큰 내 페이로드에 포함된 사용자 ID로 DB접근
    • 사용자 계정 상태 검사
    • 사용자 인증

장/단점

  1. DRF TOKEN
    • 장점
      DB 토큰 값을 통해 강제 로그아웃 가능
      한번 발급한 값을 계속해서 사용하기에 보안엔 취약하나 관리가 편함
    • 단점
      모든 요청이 DB 검색으로 이어짐 (토큰 확인)
      모든 세션을 하나의 토큰으로 처리한다.
  2. JWT TOKEN
    • 장점
      토큰에 타임스탬프가 있어 기한이 정해져있다.(보안)
      무효한 토큰은 DB에 접근할 수 없다.
    • 단점
      DB 추적없이는 토큰 회수 불가
      한번 토큰이 발급이 되면 누구나 그 토큰으로 접근할 수 있다.

0개의 댓글