我使用Spring 2.3.1.RELEASE并试图向客户端发送一个httpOnly Cookie。问题是Chrome没有展示任何饼干。

邮递员的情况也一样。

一件事是,在邮递员响应日志中,我可以看到头部Set-Cookie及其值,而在Chrome上,console.log(res.headers);给出了undefined

这是我的服务器代码
public @ResponseBody ResponseEntity<?> sendCookie(HttpServletRequest request,
HttpServletResponse response) {
Cookie cookie = new Cookie("cookie", "one_cookie_for_you");
cookie.setMaxAge(7 * 24 * 60 * 60); // expires in 7 days
cookie.setSecure(true);
cookie.setHttpOnly(true);
response.addCookie(cookie);
return ResponseEntity.ok("OK");
}我做错什么了吗?谢谢你的帮助。
发布于 2020-08-03 07:33:04
多亏了@M.迪辛,我才能解决这个问题,原来是我缺乏知识。再次谢谢你,这是解决办法。
由于我的客户端位于本地主机上,这是非https的,所以必须将cookie的安全标志设置为false (类似于cookie.setSecure(false); ),这样浏览器就可以存储cookie,即使协议没有安全。
其次,我的代码缺少cookie.setPath("");和cookie.setDomain(""),这使得Spring自动设置cookie的路径到api的映射。将其域名和路径设置为"/",可以使cookie在任何请求中发送。
https://stackoverflow.com/questions/63224760
复制相似问题