Django JWT 토큰인증 정리

Posted by Hide­
2018.05.01 10:30 Coding/Django

범위 : #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 > Django' 카테고리의 다른 글

학식봇 Django Restframework API 정리  (0) 2018.06.24
Django+Nginx CORS 문제 해결 방법  (0) 2018.06.05
Django JWT 토큰인증 정리  (0) 2018.05.01
Django Change Password 정리  (0) 2018.04.30
Django Partial Update 정리  (0) 2018.04.30
Django Taggit으로 해시태그 검색 정리  (0) 2018.04.29
이 댓글을 비밀 댓글로

티스토리 툴바