Rest_framework.permissions.IsAuthenticated никогда не выполняется
Я пытаюсь разрешить выполнение метода только тем, кто вошел в систему. Я использую JSONWebTokenAuthentication
Это реализация:
class vistaUsuarios(APIView):
permission_classes = (IsAuthenticated,)
def usuario(request):
print("USUARIO ",request.user.is_authenticated)
if request.method == 'GET':
usuario = None
id = request.GET.get("id")
if id is not None:
usuario = Usuario.objects.get(pk=id)
usuarios_serializer = UsuarioSerializer(usuario)
return JsonResponse(usuarios_serializer.data, safe=False)
settings.py
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
),
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
'rest_framework.authentication.SessionAuthentication',
'rest_framework.authentication.BasicAuthentication',
),
'NON_FIELD_ERRORS_KEY': 'global',
}
# JWT settings
JWT_AUTH = {
'JWT_ALLOW_REFRESH': True,
'JWT_EXPIRATION_DELTA': timedelta(days=2),
}
# allauth
SITE_ID = 1
ACCOUNT_EMAIL_VERIFICATION = 'none'
# JWT settings
REST_USE_JWT = True
INSTALLED_APPS = [
'corsheaders',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'subroutinesbackapp',
'django.contrib.sites',
'allauth',
'allauth.account',
'rest_auth',
'rest_auth.registration'
]
...
Проблема в том, что IsAuthenticated никогда не выполняется. У меня там есть печать, но никогда не выполняется.
class IsAuthenticated(BasePermission):
"""
Allows access only to authenticated users.
"""
def has_permission(self, request, view):
print("holaaaaaaa")
return bool(request.user and request.user.is_authenticated)
Метод usuario из класса vistaUsuarios, всегда выполняется.
Даже если печать print("USUARIO ",request.user.is_authenticated)
показывает USUARIO false, потому что я не передал действительный токен.
Как заставить метод IsAuthenticated выполняться? Спасибо, заранее