HttpOnly Cookie未随所有请求发送的Vert.x后端问题
核心原因是Cookie的路径范围限制:当你在/auth/authenticate接口设置Cookie时,Vert.x默认会将Cookie的路径设为当前请求的路径(即/auth/authenticate)。这意味着只有访问/auth前缀下的接口时,浏览器才会自动携带该Cookie,而/restApi/streamers不在这个路径范围内,因此请求不会带上Cookie。
解决方案
修改后端设置Cookie的代码,添加setPath("/"),让Cookie对整个域名下的所有路径生效:
val cookie = Cookie.cookie("token", token) .setHttpOnly(true) .setMaxAge(600_000) .setDomain("localhost") .setPath("/") // 新增该行,设置Cookie的根路径 ctx.response().addCookie(cookie) ctx.response().setStatusCode(HttpStatus.SC_OK).setStatusMessage("Successfully authenticated!").end()
验证步骤
- 重启后端服务,重新完成用户认证
- 查看浏览器Cookie面板,确认
token的路径已变为/ - 调用
/restApi/streamers接口,此时请求头会自动携带该Cookie
内容的提问来源于stack exchange,提问作者Moonlander
相关产品推荐
相关产品推荐

