Как проверить токен при аутентификации jwt в django rest framework

как проверить токен JWT в простой аутентификации jwt. мне нужно проверить, когда пользователь отправляет запрос, если срок действия токена доступа истек, то он перенаправляет его, чтобы обновить токен.

serializers.py

class CustomTokenObtainPairSerializer(TokenObtainPairSerializer):
    def validate(self, attrs):
        # The default result (access/refresh tokens)
        data = super(CustomTokenObtainPairSerializer, self).validate(attrs)
        # Custom data you want to include
        data.update({'email': self.user.email})
        data.update({'id': self.user.id})
        data.update({'status':"success"})
        # and everything else you want to send in the response
        return data

views.py

class CustomTokenObtainPairView(TokenObtainPairView):
    # Replace the serializer with your custom
    serializer_class = CustomTokenObtainPairSerializer

urls.py

from rest_framework_simplejwt.views import TokenRefreshView, TokenVerifyView

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

urlpatterns = format_suffix_patterns(urlpatterns)

Вы должны добавить jwt authentication middleware в ваш класс аутентификации settings.py для rest framework.

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework_simplejwt.authentication.JWTAuthentication',
         ...
)
Вернуться на верх