본문 바로가기

내일배움 캠프/TIL

jwt simple 사용해보기

urlpatterns = [
    path('api/token/', views.CustomTokenObtainPairView.as_view(), name='token_obtain_pair'),
    path('api/token/refresh/', TokenRefreshView.as_view(), name='token_refresh'),
]

django simple jwt에서는 url의 패턴에서 위의 방법으로 url 패턴을 기본으로 지정이 되어있었습니다

 

views.py에서는

class CustomTokenObtainPairView(TokenObtainPairView):
    serializer_class = CustomTokenObtainPairSerializer

CustomTokenObtainPairView 클래스는 serializer_class 속성을 재정의하여,

TokenObtainPairView에서 사용되는 기본적인 TokenObtainPairSerializer 대신에 CustomTokenObtainPairSerializer를

사용하게됩니다 이 CustomTokenObtainPairSerializer 를 선언한 serializers.py에서

class CustomTokenObtainPairSerializer(TokenObtainPairSerializer):
    @classmethod
    def get_token(cls, user):
        token = super().get_token(user)

        token['email'] = user.email

        return token

 

CustomTokenObtainPairSerializer 에서 상속받아온TokenObtainPairSerializer 의 

get_token을 재정의해서 token['email']=user.email 같이 커스텀을 해가지고 본인이 원하는 값을 더넣어서 토큰을 반환할수있게됩니다

 

이렇게 해서 만들어진 토큰은 access키와 refresh키로 나누어져있고 이 키중 access키는 로그인을 하는대에 refresh는 기간이 만료된 access키를 api/token/refresh 에서 재발급 받는대에 사용하게됩니다

'내일배움 캠프 > TIL' 카테고리의 다른 글

2023 04 24 poetry가상환경 설정중 생긴 오류  (1) 2023.04.24
poetry 가상환경 만들기  (0) 2023.04.21
python 메서드 복습  (0) 2023.04.17
2023 04 13 django 코멘트 CRUD  (0) 2023.04.14
2023 04 12 python thread,process  (0) 2023.04.13