Защита маршрутов Rest API от просроченного токена с помощью Django Rest Framework и аутентификации JWT
Я довольно новичок в Django Rest Framework и я создал JWT аутентификацию. Я установил время истечения срока действия маркера доступа на 4 секунды. После истечения срока действия маркера я все еще могу получить доступ к маршруту API. Он не ограничивает меня и не выдает ошибку типа 401 unauthorized. Пожалуйста, помогите, если можете.
Вот мои настройки SimpleJwt:
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework_simplejwt.authentication.JWTAuthentication',
)
}
SIMPLE_JWT = {
'ACCESS_TOKEN_LIFETIME': timedelta(seconds=4),
'REFRESH_TOKEN_LIFETIME': timedelta(days=90),
'ROTATE_REFRESH_TOKENS': True,
'BLACKLIST_AFTER_ROTATION': True,
'UPDATE_LAST_LOGIN': False,
'ALGORITHM': 'HS256',
'SIGNING_KEY': SECRET_KEY,
'VERIFYING_KEY': None,
'AUDIENCE': None,
'ISSUER': None,
'JWK_URL': None,
'LEEWAY': 0,
'AUTH_HEADER_TYPES': ('Bearer',),
'AUTH_HEADER_NAME': 'HTTP_AUTHORIZATION',
'USER_ID_FIELD': 'id',
'USER_ID_CLAIM': 'user_id',
'USER_AUTHENTICATION_RULE': 'rest_framework_simplejwt.authentication.default_user_authentication_rule',
'AUTH_TOKEN_CLASSES': ('rest_framework_simplejwt.tokens.AccessToken',),
'TOKEN_TYPE_CLAIM': 'token_type',
'TOKEN_USER_CLASS': 'rest_framework_simplejwt.models.TokenUser',
'JTI_CLAIM': 'jti',
'SLIDING_TOKEN_REFRESH_EXP_CLAIM': 'refresh_exp',
'SLIDING_TOKEN_LIFETIME': timedelta(seconds=4),
'SLIDING_TOKEN_REFRESH_LIFETIME': timedelta(days=90),
}
Вот мой маршрут, который я защищаю от просроченных токенов:
@api_view(['GET'])
@permission_classes([IsAuthenticated])
def get_notes(request):
user = request.user
notes = user.notes_set.all()
serializer = NoteSerializer(notes,many=True)
return Response(serializer.data)