본문 바로가기
WIL

13주차 WIL (djangorestframeworksimple-jwt 커스텀)

by dev_junseok 2022. 12. 4.

먼저 커스텀을 안하고 기본 simple-jwt를 사용하는 상태에서 로그인 할 때 아이디나 비밀번호를 틀린다면?

 

이런 메세지가 return 되는데 솔직히 이건 사용자 입장에서는 무슨소리지... 할 것이다.

 

그래서 이걸 커스텀 해 보았다.

 

먼저 serializers.py에 해당 코드를 추가한다.

class CustomTokenObtainPairSerializer(TokenObtainPairSerializer):   # jwt payload 커스텀
    username_field = get_user_model().USERNAME_FIELD
    token_class = RefreshToken

    default_error_messages = {"no_active_account": _("아이디 or 비밀번호를 확인해주세요. ")}

다음 views.py에서 새로 정의한 seriazlier를 정의해준다.

 

class CustomTokenObtainPairView(TokenObtainPairView): # jwt payload 커스텀
    serializer_class = CustomTokenObtainPairSerializer

다음 urls.py에서도 view를 재정의해준다.

from django.urls import path
from users import views
from rest_framework_simplejwt.views import (
    TokenObtainPairView,
    TokenRefreshView,
)


urlpatterns = [
    path('', views.UserView.as_view(), name='user_view'),
    path('api/token/', views.CustomTokenObtainPairView.as_view(), name='token_obtain_pair'),
   
]

이렇게 하고 나면 커스텀된 error_message가 출력된다,

'WIL' 카테고리의 다른 글

14주차 WIL  (0) 2022.12.15
12주차 WIL (장고 ORM)  (0) 2022.11.20
11주차 WIL  (0) 2022.11.13
10주차 WIL  (0) 2022.11.07
9주차 WIL (RESTful API란?)  (0) 2022.10.30