DRF with JWT
JWT 로 인증하기!
I. 준비사항
1. REST framework JWT Auth 패키지 설치
pip install djangorestframework-jwt
2. settings.py
설정 변경
settings.py
설정 변경
(1) REST_FRAMEWORK
설정 변경
REST_FRAMEWORK
설정 변경REST_FRAMEWORK
설정 변수 아래의 내용 추가authentication 방식을 JSONWebTokenAuthentication 방식으로 설정하겠다는 의미
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework_jwt.authentication.JSONWebTokenAuthentication', # Token 에서 교체
# 'rest_framework.authentication.TokenAuthentication',
]
}
(2) REST_USE_JWT
설정 추가
REST_USE_JWT
설정 추가DRF auth가 JWT를 사용하게 설정 추가
REST_USE_JWT = True
(3) JWT_AUTH
설정 추가
JWT_AUTH
설정 추가JWT 관련 정보 설정 (예시)
자세한 사항은 공식문서 참고(https://jpadilla.github.io/django-rest-framework-jwt/)
import datetime
JWT_AUTH = {
'JWT_SECRET_KEY': SECRET_KEY,
'JWT_ALGORITHM': 'HS256',
'JWT_ALLOW_REFRESH': True,
# 1주일간 유효한 토큰
'JWT_EXPIRATION_DELTA': datetime.timedelta(days=7),
# 28일 마다 갱신됨(유효 기간 연장시)
'JWT_REFRESH_EXPIRATION_DELTA': datetime.timedelta(days=28),
}
II. 모든 변경사항
settings.py
settings.py
# DRF auth settings
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework_jwt.authentication.JSONWebTokenAuthentication', # Token 에서 교체
# 'rest_framework.authentication.TokenAuthentication',
]
}
# DRF auth가 JWT를 사용하게 하는 설정
REST_USE_JWT = True
# JWT Token 관련 정보 설정: 어떤 정보를 담아 보낼지
import datetime
JWT_AUTH = {
'JWT_SECRET_KEY': SECRET_KEY,
'JWT_ALGORITHM': 'HS256',
'JWT_ALLOW_REFRESH': True,
# 1주일간 유효한 토큰
'JWT_EXPIRATION_DELTA': datetime.timedelta(days=7),
# 28일 마다 갱신됨(유효 기간 연장시)
'JWT_REFRESH_EXPIRATION_DELTA': datetime.timedelta(days=28),
}
```
Last updated
Was this helpful?