반응형
범위 : #1-70 Setting up JWT
보통 어플리케이션을 이용하여 인증을 진행할때는 세션을 사용하지 않는다.
그보다 Token을 이용하여 진행하는게 더 편리하고 적합하기 때문이다.
여러가지 방법이 있지만 JWT(Json Web Token)라는 편리한 방법이 있다.
먼저 아래의 명령어를 통해 설치해준다.
pipenv install djangorestframework-jwt
위 명령어를 통해 설치를 진행하고
위처럼 설치가 진행된다.
이제 JWT를 사용하겠다는 설정을 해줘야한다.
settings.py를 열고 아래의 내용을 추가한다.
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
),
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
'rest_framework.authentication.SessionAuthentication',
'rest_framework.authentication.BasicAuthentication',
),
}
DEFAULT_PERMISSION_CLASSES에 permission.IsAuthenticated를 써줌으로써
모든 request는 인증이 필요하다고 설정했다.
다음으로 API인증 토큰을 발급받기위해 urls.py에 관련 경로를 추가해준다.
from rest_framework_jwt.views import obtain_jwt_token
urlpatterns = [
path('api-auth-token/', obtain_jwt_token),
]
이제 /api-auth-token/ 주소로 아이디와 패스워드를 보내면 그에 맞는 토큰을 발급해줄 것이다.
username에 아이디를 적고 password에 비밀번호를 적은 후 POST로 보내보면 다음과 같이 토큰을 발급해준다.
이제 실제로 이 토큰을 헤더에 담아서 보내면 된다.
형식은 Authorization: JWT 토큰 형태이다.
'Coding > Python' 카테고리의 다른 글
학식봇 Django Restframework API 정리 (0) | 2018.06.24 |
---|---|
Django+Nginx CORS 문제 해결 방법 (0) | 2018.06.05 |
Django Change Password 정리 (0) | 2018.04.30 |
Django Partial Update 정리 (0) | 2018.04.30 |
Django Taggit으로 해시태그 검색 정리 (0) | 2018.04.29 |