【发布时间】:2016-05-06 00:21:53
【问题描述】:
当我在 Angular2 中发出 put 请求时,我在响应中收到了预期的 set-cookie。但是我的浏览器(Chrome 和 Firefox 都试过)拒绝设置 cookie。
当我使用 Angular 1 应用程序调用 same API 端点时,cookie 设置正确。
响应头是:
Access-Control-Allow-Credentials:true
Access-Control-Allow-Origin:http://example.com
Allow:GET, PUT, HEAD, OPTIONS
Content-Type:application/json
Date:Thu, 28 Jan 2016 14:41:38 GMT
P3P:policyref="http://www.example.com/p3p.xml", CP="NON DSP COR CURa TIA"
Server:WSGIServer/0.1 Python/2.7.6
Set-Cookie:sessionid=994wl49qfsizog5bqmt57sgx9q2toa25; expires=Mon, 28-Mar-2016 14:41:37 GMT; Max-Age=5183999; Path=/
Set-Cookie:csrf=u7UQhpAphTsGYKRU6jFlLFt6NoYAhNMS; Domain=api.example.com; expires=Thu, 26-Jan-2017 14:41:38 GMT; Max-Age=31449600; Path=/
Vary:Accept, Cookie
后端是在 Django 1.8 中编写的。
有没有人遇到过同样的事情或有如何解决这个问题的建议?
【问题讨论】: