浏览器不保留响应中的 cookie header
Browser not keeping cookie from response header
我正在尝试做一些简单易行的事情:设置一个 cookie!但是浏览器(Chrome 和 Safari 测试)只是忽略它们。
所以响应 headers 看起来像:
Access-Control-Allow-Credentials:true
Access-Control-Allow-Origin:*
Connection:keep-alive
Content-Encoding:gzip
Content-Type:application/json; charset=utf-8
Date:Wed, 19 Jul 2017 04:51:51 GMT
Server:nginx
Set-Cookie:UserAuth=<some jwt>; Path=/; Domain=10.10.1.110; Expires=Wed, 19 Jul 2017 12:51:51 GMT; HttpOnly; Secure
Transfer-Encoding:chunked
Vary:Origin
请求确实包括withCredentials=true
。
但是 Chrome 中的 cookies 部分是空的。我试过完全删除域,删除路径,我能想到的所有配置,但浏览器就是不玩。
我错过了什么?
您的 cookie 显示
仅限HTTP;
安全;
在生成 cookie 时使用 HttpOnly 标志有助于降低客户端脚本访问受保护 cookie 的风险
安全标志的目的是防止 cookie 因以明文形式传输 cookie 而被未授权方观察到。
通过设置安全标志,浏览器将阻止通过未加密的通道传输 cookie。
如果通过带有 TLS 层安全标志的 HTTP 传输,Cookie 将被中断。
因此,请检查您的偏好并相应地设置 cookie 的配置。
因此原来的请求 'withCredentials=true' 作为请求 header 而不是在 XMlHttpRequest 配置 object 上设置。
我正在尝试做一些简单易行的事情:设置一个 cookie!但是浏览器(Chrome 和 Safari 测试)只是忽略它们。 所以响应 headers 看起来像:
Access-Control-Allow-Credentials:true
Access-Control-Allow-Origin:*
Connection:keep-alive
Content-Encoding:gzip
Content-Type:application/json; charset=utf-8
Date:Wed, 19 Jul 2017 04:51:51 GMT
Server:nginx
Set-Cookie:UserAuth=<some jwt>; Path=/; Domain=10.10.1.110; Expires=Wed, 19 Jul 2017 12:51:51 GMT; HttpOnly; Secure
Transfer-Encoding:chunked
Vary:Origin
请求确实包括withCredentials=true
。
但是 Chrome 中的 cookies 部分是空的。我试过完全删除域,删除路径,我能想到的所有配置,但浏览器就是不玩。
我错过了什么?
您的 cookie 显示 仅限HTTP; 安全;
在生成 cookie 时使用 HttpOnly 标志有助于降低客户端脚本访问受保护 cookie 的风险
安全标志的目的是防止 cookie 因以明文形式传输 cookie 而被未授权方观察到。 通过设置安全标志,浏览器将阻止通过未加密的通道传输 cookie。
如果通过带有 TLS 层安全标志的 HTTP 传输,Cookie 将被中断。 因此,请检查您的偏好并相应地设置 cookie 的配置。
因此原来的请求 'withCredentials=true' 作为请求 header 而不是在 XMlHttpRequest 配置 object 上设置。