programing

Django : DRF 토큰 기반 인증 VS JSON 웹 토큰

oldcodes 2023. 2. 28. 23:44
반응형

Django : DRF 토큰 기반 인증 VS JSON 웹 토큰

사용자가 주로 Android, iOS 기기 및 데스크톱에서 앱에 액세스할 수 있는 실제 애플리케이션을 구축하고 있습니다.

기초적인 조사를 통해 세션 기반 인증에 비해 토큰 기반 인증 메커니즘이 클라이언트-서버 모델에서 더 우수하고 우아하다는 것을 알게 되었습니다.

장고에서, 나는 이것을 하는 두 가지 인기 있는 방법을 찾았다.

  1. http://www.django-rest-framework.org/api-guide/authentication/ # 인증 해제
  2. http://getblimp.github.io/django-rest-framework-jwt/

제가 알기로는 옵션 2]는 토큰이 JSON(시리얼라이즈드) 형식인 것을 제외하고 1]의 확장자입니다.옵션 1]과 옵션 2]의 다른 차이점과 둘 중 하나를 선택할 때의 장점과 단점을 이해하고 싶습니다.

두 사람 모두 비슷한 일을 거의 차이 없이 수행하고 있다.

상품권

DRF 내장 토큰 인증

  1. 모든 세션에 대해 하나의 토큰
  2. 토큰에 타임스탬프 없음

DRF JWT 토큰 인증

  1. 세션당 토큰 1개
  2. 각 토큰의 만료 타임스탬프

데이터베이스 액세스

DRF 내장 토큰 인증

  1. 토큰에 연결된 사용자를 가져오기 위한 데이터베이스 액세스
  2. 사용자 상태 확인
  3. 사용자 인증

DRF JWT 토큰 인증

  1. 디코드 토큰(payload 가져오기)
  2. 토큰 타임스탬프 확인(만료)
  3. 페이로드의 ID와 연관된 사용자를 가져오기 위한 데이터베이스 액세스
  4. 사용자 상태 확인
  5. 사용자 인증

장점

DRF 내장 토큰 인증

  1. 데이터베이스의 토큰을 대체하여 강제 로그아웃을 허용합니다(예: 비밀번호 변경).

DRF JWT 토큰 인증

  1. 유효기간이 있는 토큰
  2. 토큰이 유효하지 않으면 데이터베이스 적중 없음

단점

DRF 내장 토큰 인증

  1. 모든 요청에 대한 데이터베이스 적중
  2. 모든 세션에 대한 단일 토큰

DRF JWT 토큰 인증

  1. 데이터베이스에서 추적하지 않고 토큰을 호출할 수 없습니다.
  2. 토큰이 발행되면 토큰을 가진 모든 사용자가 요청을 할 수 있습니다.
  3. 사양은 해석의 여지가 있으며 갱신 방법에 대한 합의가 이루어지지 않음

언급URL : https://stackoverflow.com/questions/31600497/django-drf-token-based-authentication-vs-json-web-token

반응형