无法通过Set-Cookie(Django + Angular2)访问服务器发送的csrf cookie

时间:2017-06-22 14:27:46

标签: django cookies setcookie django-csrf

我正在尝试在前端运行Angular 2的应用程序和Django作为API运行,我无法访问从Django发送的CSRF cookie。

正如您所看到的,我从服务器返回cookie但我无法从浏览器(document.cookie)或Angular 2(使用ng2-cookies模块)访问它。

Set-Cookie response header

localhost上进行测试时,一切正常,现在客户端和服务器正在不同的主机上运行,​​这可能是问题的原因。

这是我在Django上使用的设置的一部分:

settings.py

CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_CREDENTIALS = True
CSRF_COOKIE_SECURE = False
CSRF_TRUSTED_ORIGINS = ['django-angular2-movies.firebaseapp.com']
ALLOWED_HOSTS = ['*']

我尝试过的其他事情,但没有帮助:

  • 删除CSRF_TRUSTED_ORIGINS设置
  • 添加CSRF_COOKIE_DOMAIN = 'django-angular2-movies.firebaseapp.com'
  • 在客户端发送的请求中使用{ withCredentials: true }
  • 在Django视图上使用@ensure_csrf_cookie装饰器

我做错了什么?

由于

0 个答案:

没有答案