【问题标题】:Django not providing CSRF token for AngularJS frontendDjango 没有为 AngularJS 前端提供 CSRF 令牌
【发布时间】:2015-12-19 06:56:45
【问题描述】:

我正在尝试从 AngularJS 前端向 Django 后端发送跨域 PUT 请求。当我在同一个域上运行时一切都很好(前端在localhost:8000 和后端在localhost:8001),我从$cookies 得到我的csrftoken 并且可以发送成功的请求。当我将后端切换到外部 QA 服务器时,问题就开始了。我得到了空的$cookies,没有sessionid 也没有csrftoken cookie。我的想法已经用完了,这就是我在这里寻求帮助的原因,在此先感谢。

【问题讨论】:

    标签: javascript python angularjs django cookies


    【解决方案1】:

    您将无法在其他域上获取 cookie,因为所有 cookie 都是按域设置的,这是出于安全原因。

    如果您想访问其他域中的会话和 cookie,您必须复制它们。您可以通过发送带有特殊令牌(用于验证)的请求并在 django 中创建视图来实现,该视图将根据该令牌从某些存储中获取数据并填充用户 cookie,因此在下一个请求时它们将可用。

    【讨论】:

    • 原来如此,感谢您的澄清!祝你有美好的一天!
    猜你喜欢
    • 2013-08-11
    • 2021-03-15
    • 2011-12-11
    • 2015-10-25
    • 1970-01-01
    • 2020-08-07
    • 2021-04-01
    • 2016-06-10
    • 2016-08-03
    相关资源
    最近更新 更多