Привет, я получаю пользователя AnonymousUser, даже если я передаю правильный токен.
hi я использую djangorestframework-simplejwt==4.4.0 и создаю токен с его помощью .
но django выдает мне AnonymousUser, когда я пытаюсь передать этот токен в боковой Authorization Bearer
мои настройки restframework таковы :
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework_simplejwt.authentication.JWTAuthentication',
)
}
from datetime import timedelta
...
SIMPLE_JWT = {
'ACCESS_TOKEN_LIFETIME': timedelta(minutes=50),
'REFRESH_TOKEN_LIFETIME': timedelta(days=60),
'ROTATE_REFRESH_TOKENS': False,
'BLACKLIST_AFTER_ROTATION': False,
'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',
'JTI_CLAIM': 'jti',
'SLIDING_TOKEN_REFRESH_EXP_CLAIM': 'refresh_exp',
'SLIDING_TOKEN_LIFETIME': timedelta(minutes=5),
'SLIDING_TOKEN_REFRESH_LIFETIME': timedelta(days=1),
}
Код просмотра приведен ниже, где я пытаюсь его использовать
class PostProductsReviewsView(CreateAPIView):
# permission_classes=[IsAuthenticated]
serializer_class = ReviewsSerializer
def get(self,request):
print(request.user)
user_id=request.user.id
try:
user=User.objects.get(id=user_id)
except:
return Response({"error":"user is not authenticated"},status=status.HTTP_401_UNAUTHORIZED)
data=request.data
stars=data.get('stars')
title=data.get('title')
review_content=data.get('review_content')
review_content=data.get('product')
quesry_data={
'stars':stars,
'title':title,
'review_content':review_content,
'user':user,
'is_active':True
}
# data['user']=user
serializer=ReviewsSerializer(data=quesry_data)
serializer.is_valid(raise_exception=True)
self.perform_create(serializer)
headers = self.get_success_headers(serializer.data)
return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)
пожалуйста, помогите мне, когда я копирую и тестирую на jwt.io этот токен содержит все данные, но показывает недействительную подпись пожалуйста, помогите мне