微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我正在构建一个单独的 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 应用程序如何保持身份验证。欢迎任何建议!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。