Ssul's Blog

restframework-simplejwt 사용하기 본문

dev/기능구현

restframework-simplejwt 사용하기

Ssul 2023. 4. 19. 15:34

기존에 restframework-jwt로 배웠었는데......요즘은 해당 패키지 업데이트가 잘 이뤄지지 않음

이제는 대부분 simplejwt 사용!

 

#1. 설치하고

pip install djangorestframework-simplejwt

 

#2. settings.py파일 셋팅

REST_FRAMEWORK = {
    ...
    'DEFAULT_AUTHENTICATION_CLASSES': [
        'rest_framework_simplejwt.authentication.JWTAuthentication',
    ],
    ...
}



from datetime import timedelta


# Simple JWT 설정
SIMPLE_JWT = {
    'ACCESS_TOKEN_LIFETIME': timedelta(minutes=30),
    'REFRESH_TOKEN_LIFETIME': timedelta(days=1),
    'ROTATE_REFRESH_TOKENS': True,
    'BLACKLIST_AFTER_ROTATION': True,
}

 

#3. accounts/urls.py수정

from rest_framework_simplejwt.views import (
    TokenObtainPairView,
    TokenRefreshView,
    TokenVerifyView,
)

urlpatterns = [
    ...
    path('token/', TokenObtainPairView.as_view(), name='token_obtain_pair'),
    path('token/verify/', TokenVerifyView.as_view(), name='token_verify'),
    path('token/refresh/', TokenRefreshView.as_view(), name='token_refresh'),
    ...
]

 

#4. postman으로 확인해보기

post로 설정하고, body에 아이디/비번 넣고, send~!! 성공

 

#5. TokenObtainPairView, TokenRefreshView, TokenVerifyView를 상속받아, 덮어씌워서 내가 원하는데로 응답하게 하는 것도 가능. 이건 이후에 포스팅~