Django - 为什么我从 Axios/AJAX 登录后没有通过身份验证?

时间:2021-03-23 22:41:18

标签: django vue.js axios django-allauth

我正在构建一个单独的 VueJS/Django 应用程序,其中 Django 将使用 JSON 与 Vue 前端通信。为了能够使用标准会话身份验证和 django-allauth,我将在同一服务器和同一端口上部署这两个应用程序。

这是我的问题:在我使用 Axios 从 Vue 应用程序登录后,我没有收到任何响应,但我注意到在数据库上创建了一个会话,所以我假设我正在登录. 但是如果我尝试到达打印 request.user.is_authenticated 的端点,我得到 False,而 request.user 返回 Anonymous,所以我不再登录了。我该如何解决这个问题?

这是我的 Axios 代码:

bodyFormData.append('login', 'root');
bodyFormData.append('password', 'test');

axios({
  method: "post",
  url: "http://127.0.0.1:8000/accounts/login/",
  data: bodyFormData,
  withCredentials: true,
  headers: { "Content-Type": "application/json" },
})
.then(function (response) {
  //handle success
  console.log(response);
})
.catch(function (response) {
  //handle error
  console.log(response);
});

我认为 Django-Allauth 在其 url 上支持 AJAX 身份验证,但我不明白如何让它返回一些东西,以及一旦我提交 Axios 表单,我的 Vue 应用程序如何保持身份验证。欢迎任何建议!

0 个答案:

没有答案