https://django-rest-framework-simplejwt.readthedocs.io/en/latest/getting_started.html#usage
DRF 에서 JWT 인증에서 simple-jwt 라이브러리를 사용할 것을 권장한다고 공식 문서에 나와있다.
(jwt 라이브러리는 업데이트 중지)
1. simple-jwt 라이브러리 설치 및 세팅
simple-jwt 라이브러리를 설치한다.
pip install djangorestframework-simplejwt
# settings.py
REST_FRAMEWORK = {
...
'DEFAULT_AUTHENTICATION_CLASSES': (
...
'rest_framework_simplejwt.authentication.JWTAuthentication',
)
...
}
INSTALLED_APPS = [
...
'rest_framework_simplejwt',
...
]
# urls.py
from rest_framework_simplejwt.views import (
TokenObtainPairView,
TokenRefreshView,
TokenVerifyView,
)
urlpatterns = [
...
path('api/token/', TokenObtainPairView.as_view(), name='token_obtain_pair'),
path('api/token/verify/', TokenVerifyView.as_view(), name='token_verify'),
path('api/token/refresh/', TokenRefreshView.as_view(), name='token_refresh'),
...
]
simple-jwt 라이브러리에서 제공해 주는 뷰를 보자.
- TokenObtainPairView : 토큰을 생성해주는 뷰
- TokenVerifyView : 토큰 유효성 확인 뷰
- TokenRefreshView : refresh 토큰으로 access 토큰을 재밸급하는 뷰
localhost:8000/accounts/token/ 에서 username과 password data를 body에 입력하고 POST 메서드로 request 하면 refresh token과 access token이 생성되는 것을 볼수 있다.
'Django > Authentication' 카테고리의 다른 글
[Django] set_cookie를 이용한 COOKIE에 Token 저장하기 (로그인 할때) (0) | 2022.05.11 |
---|---|
[Django] DRF의 simple-jwt를 이용한 로그인 기능 구현 (1) (0) | 2022.05.09 |
[Django] DRF의 JWT Authentication (0) | 2022.05.06 |
[Django] DRF의 Token Authentication (0) | 2022.05.06 |