如何解决浏览器未设置安全的 httpOnly cookie,提示“域属性对于当前主机 url 无效”
我的网络客户端部署在 https://web-xxxxxxxx-uw.a.run.app(由 Google cloud run 部署),后端 API 部署在 https://api-xxxxxxxx-uw.a.run.app。
此处的后端负责设置 httpOnly
secure
cookie,但浏览器不允许。我不是在 cookie 域上设置 API 的实际 url,而是一个域。
我浏览了一些 SO 帖子,其中提到如果我们想从跨 url 设置 cookie,那么它们都必须属于同一个域。就我而言,它是 .a.run.app
。后端仅设置此域,但仍获得 this set-cookie domain attribute was invalid with regards to the current host url
。
https://serverfault.com/questions/153409/can-subdomain-example-com-set-a-cookie-that-can-be-read-by-example-com
Set cookies for cross origin requests
Set-Cookie was blocked because its Domain attribute was invalid with regards to the current host url
这是饼干:
set-cookie: authToken=eyJ0eXAiOiJKV.1ZmkuY29tIiwiZXhwIj.h7g7jib4_orn; Path=/; Domain=.a.run.app; Max-Age=864000; Expires=Fri,09 Apr 2021 13:51:57 GMT; Secure; HttpOnly; SameSite=None
后端代码是用Spring boot写的:
ResponseCookie cookie = ResponseCookie.from(AUTH_COOKIE_NAME,token)
.httpOnly(true)
.maxAge(EXPIRATION_TIME_SEC)
.path("/")
.sameSite("None")
.secure(true)
.domain(".a.run.app")
.build();
httpServletresponse.addheader(HttpHeaders.SET_COOKIE,cookie.toString());
我在这里做错了什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。