JWT 사용해보기

·2023년 9월 21일
0

웹개발 종합

목록 보기
9/23

JWT(Jason Web Token) 을 사용해보자

우선 공식 사이트에서 시키는 대로

pip install djangorestframework-simplejwt

로 설치를 해준 뒤 settings.py 에 아래를 추가해준다.

REST_FRAMEWORK = {
    
    'DEFAULT_AUTHENTICATION_CLASSES': (
        
        'rest_framework_simplejwt.authentication.JWTAuthentication',
    )
    
}

urls.py 에

from django.contrib import admin
from django.urls import path, include
import users

urlpatterns = [path("admin/", admin.site.urls), path("users/", include("users.urls"))]

이렇게 적어주고 users/urls.py 에

from rest_framework_simplejwt.views import (
    TokenObtainPairView,
    TokenRefreshView,
)
from django.urls import path

urlpatterns = [
    path("api/token/", TokenObtainPairView.as_view(), name="token_obtain_pair"),
    path("api/token/refresh/", TokenRefreshView.as_view(), name="token_refresh"),
]

여기까지 해준 뒤 postman 으로 post 요청을 보내보면

views.py 에 별도로 코드를 써놓지 않았음에도 없는 id 나 비밀번호를 넣으면 에러메세지를 보내고 알맞은 정보를 입력하면 토큰을 생성해서 보내주는 것을 볼 수 있다.

  • "access" : 실제 접근할 때 사용되는 토큰 유저 정보 등을 담고 있다.
  • "refresh" : access 토큰의 사용기간이 만료되었을 때 refresh 토큰으로 다시 접근하여 access 토큰을 갱신해야 한다.

나온 토큰은
https://jwt.io/
에서 settins.py 에 있는 secret key 를 넣고 decode 해보면 signiture verify 를 해볼 수 있다.

profile
공부 중

0개의 댓글