【发布时间】:2021-03-04 01:02:09
【问题描述】:
所以我们将 Django 应用程序部署到 Heroku,一切都运行良好。直到我看了饼干。我有app-staging.herokuapp.com 和.app-staging.herokuapp.com 的csrftoken cookie。但是当我设置CSRF_COOKIE_DOMAIN = 'app-staging.herokuapp.com' 时,我会自动得到错误的东西.app-staging.herokuapp.com。
我尽我所能,但没有任何帮助。我尝试了当前的 Firefox (83.0) 和 Chromium。最大的问题是对 CSRF 令牌的无效检查。由于域不匹配它是无效的。
csrftoken=E9sdyx5U61IaFP3YNJHk3ZKtnllkEnyZ6i9eimHYD31sn4qXRXv7FBDOpPfpWhyt; Domain=app-staging.herokuapp.com; expires=Fri, 19 Nov 2021 15:33:52 GMT; Max-Age=31449600; Path=/; SameSite=Lax; Secure
请不要建议我设置CSRF_COOKIE_DOMAIN = None。如果一个 Django 实例将在更多域上运行,我将需要解决相同的问题。我们必须尽快完成。
【问题讨论】:
标签: django heroku django-csrf