Fetch в Django возвращает ошибку 403 с другой учетной записью

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

Вот код, где я пытаюсь получить POST запрос

  fetch("/login/", {
    method: "POST",
    headers: {
      "X-CSRFToken": getCookie("csrftoken"),
      'Content-Type': 'application/json'
    }, 
    body: JSON.stringify(data),
    credentials: 'include',
    redirect: 'follow'
  }).then(res => {
    console.log("Request complete! response:", res);
    //direct user to response url if response is 200
    if (res.status == 200) {
      window.location.replace(res.url);
    }
  });

А вот код для входа в систему

def login(request):
    if request.method == "POST":
        data = json.loads(request.body) 
        token = data['aud']
        try:
            # Check if the token is valid from client
            idinfo = id_token.verify_oauth2_token(token, requests.Request(), CLIENT_ID)
        except:
            return HttpResponse("Unallowed")
            
        new_user, created = User.objects.get_or_create(
            username=str(idinfo['sub']),
            first_name=idinfo['given_name'],
            last_name=idinfo['family_name'],
            email=idinfo['email']
        )
        if created: 
            new_user.save()
            return HttpResponseRedirect(reverse('register')) 
        else:   
            request.session['username'] = new_user.username
            request.session['first_name'] = new_user.first_name
            return HttpResponseRedirect(reverse('user-dashboard'))
        
    elif request.method == "GET":
        return HttpResponse(render(request, 'login.html'))

Я смотрел на: 403 Forbidden и request.method показывает GET в django. csrf ошибка в django

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