Проблемы с получением cookie в конечной точке django

Итак, в одном из моих представлений django я устанавливаю cookie после успешного входа в систему, чтобы получить из него данные о пользователе и использовать их для отображения соответствующей информации

Вот мой взгляд

class LoginView(APIView):
    def post(self, request):
        username = request.data.get('username')
        password = request.data.get('password')

        # Validate that both username and password are provided
        if not username or not password:
            return Response({'error': 'Username and password are required.'}, status=status.HTTP_400_BAD_REQUEST)

        # Authenticate user
        user = authenticate(username=username, password=password)

        if user is None:
            return Response({'error': 'Invalid username or password.'}, status=status.HTTP_401_UNAUTHORIZED)

        # Generate JWT token
        token = jwt.encode({'user_id': user.id}, 'your_secret_key', algorithm='HS256')
        response_data = {'token': token, 'Role': user.user_data.role}
        response = Response(response_data, status=status.HTTP_200_OK)
        response.set_cookie('jwt', token)

        return response

Затем я попытался получить cookie в следующем представлении

class GetUserDetails(APIView):
    def get(self, request):
        token = request.COOKIES.get('jwt')
        print(token)
    
        if token:
            try:
                # Decode the JWT token to extract user ID
                payload = jwt.decode(token, 'secret', algorithms=['HS256'])
                user_id = payload.get('id')
                user = LoginDetails.objects.get(pk=user_id)

                user_data = user.user_data

                # Fetch and format user details
                education_data = list(Education.objects.filter(user=user_data).values())
                work_experience_data = list(WorkExperience.objects.filter(user=user_data).values())

                data = {
                    'user': {
                        'fullName': user_data.fullName,
                        'gender': user_data.gender,
                        'aadhaarNumber': user_data.aadhaarNumber,
                        'dateOfBirth': user_data.dateOfBirth,
                        'maritalStatus': user_data.maritalStatus,
                        'emergencyContactName': user_data.emergencyContactName,
                        'address': user_data.address,
                        'phoneNumber': user_data.phoneNumber,
                        'emailID': user_data.emailID,
                        'emergencyContactNumber': user_data.emergencyContactNumber,
                        'jobTitle': user_data.jobTitle,
                        'departmentName': user_data.departmentName,
                        'joiningDate': user_data.joiningDate,
                        'employmentType': user_data.employmentType,
                        'relevantSkills': user_data.relevantSkills,
                    },
                    'education': education_data,
                    'workExperience': work_experience_data
                }
                return JsonResponse(data)
            except jwt.ExpiredSignatureError:
                return JsonResponse({'error': 'Token expired'}, status=401)
            except jwt.InvalidTokenError:
                return JsonResponse({'error': 'Invalid token'}, status=401)
            except LoginDetails.DoesNotExist:
                return JsonResponse({'error': 'User not found'}, status=404)
        else:
            return JsonResponse({'error': 'You are not logged in'}, status=401)

При печати cookie на терминале я получаю None

Когда вызывается представление LoginView, оно проверяет введенные имя пользователя и пароль и регистрирует пользователя. Но затем он переводит меня на страницу, на которой отображаются сведения о пользователе, и при вызове представления GetuserDetails выдает следующее

{"error": "You are not logged in"}

Я убедился, что cookie устанавливается в консоли браузера. Также я запускаю свой react-сервер на localhost:3000 и свой django-сервер на 127.0.0.1:8000

Я понятия не имею, почему представление не может получить cookie

Вернуться на верх