Невозможно войти в систему с помощью 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))
Буду признателен за любую помощь в том, что я делаю не так