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 |