Невозможно войти в систему с помощью Django Knox, используя запрос Fetch POST

Я пытаюсь войти в систему из react front end через Fetch POST запрос к конечной точке Knox, но у меня не получается. Я могу нормально войти в систему с http://localhost:8000/api/login/, поэтому я предполагаю, что что-то должно быть не так с моим Fetch, но я не могу понять это. В документации Knox говорится, что LoginView принимает только пустое тело, поэтому я не могу просто поместить туда информацию для входа.

View (скопировано из документации, и я добавил BasicAuthentication)

class LoginAPI(KnoxLoginView):
    permission_classes = (permissions.AllowAny,)
    authentication_classes = [BasicAuthentication]

    def post(self, request, format=None):
        serializer = AuthTokenSerializer(data=request.data)
        serializer.is_valid(raise_exception=True)
        user = serializer.validated_data['user']
        login(request, user)
        return super(LoginAPI, self).post(request, format=None)

Fetch:

const handleSubmit = (event) => {
    event.preventDefault();
    const data = new FormData(event.currentTarget);
    const credentials = btoa(`${data.get('username')}:${data.get('password')}`);

    const requestOptions = {
            method: "POST",
            headers: {
                'Accept': 'application/json, text/plain, */*',
                'Content-Type': 'application/json',
                "Authorization": `Basic ${credentials}`
            },
            body: JSON.stringify({})

        }
     fetch('http://127.0.0.1:8000/api/login/', requestOptions)
            .then(response => console.log(response))
            .catch(error => console.log(error))

Буду признателен за любую помощь в том, что я делаю не так

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