我有一个向 JS 应用程序提供 JSON 数据的 REST 服务。在身份验证期间,服务器设置一个名为 token= 的 HttpOnly cookie 并设置 HttpOnly 标志。HttpOnly 标志在浏览器的开发人员工具中可见。
但是,当 JS 应用程序向 REST 服务器发送下一个请求(比如 GET)时,我看到了附加的令牌,但我没有看到浏览器设置了 HttpOnly 标志。这是预期的行为吗?我查看了一些文档,但找不到可以预期的具体迹象。我希望浏览器保留 HttpOnly 标志 ON 配置。
在服务器端,当我调用 cookies.isHttpOnly() 时,我得到了错误。考虑到我已经设置了相同的标记,这不应该是真的吗?
以下是我的观察:
从 REST 服务收到的 HTTP 响应标头:
标题名称:SET-COOKIE
Content: token=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxIiwicm9sZXMiOiJBRE1JTixVU0VSIiwiZXhwIjoxNTEyMzQ1MTM.LqBlD4pdbi9mHH1CWw52US77oefZjo40e7T02lTp7oEaMGslY71INB9WwuhETiQ;Max-Age=2592000;Expires=Sun, 03-Dec-2017 23:52:16 GMT;Path=/;HttpOnly
客户端向 REST 服务发送的 HTTP 请求标头:
标题名称:Cookie
内容: token=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxIiwicm9sZXMiOiJBRE1JTixVU0VSIiwiZXhwIjoxNTEyMzQ1MTM.LqBlD4pdbi9mHH1CWw52US77oefZjo40e7T02lTp7oEaMGslY71INB9WwuhETiQ