Session cookie 在 Postman 中成功运行,而不是 Chrome

Session cookies working successfully in Postman, not Chrome

这是我第一次弄乱 session 饼干,我很难过。如果有任何帮助,我将不胜感激!

我要注意:

服务器

我的服务器是 运行 在 http://localhost:7000/

我通过设置 Set-Cookie header 从服务器向客户端发送 cookie:

val cookie = """jwt=$token; Path=/; Domain=localhost; Max-Age=86400; Expires=Thu, 19 Aug 2021 12:20:23 GMT; SameSite=Strict;"""

ctx.header("Set-Cookie", cookie)

我也设置了cors:

it.header(Header.ACCESS_CONTROL_ALLOW_CREDENTIALS, "true")
it.header(Header.ACCESS_CONTROL_ALLOW_METHODS, "*")
it.header(Header.ACCESS_CONTROL_ALLOW_HEADERS, "*")

前端

我的 F.E 在 http://localhost:3000/

上是 运行

下面是授权 request/response 的样子:

这是其中一个失败请求的样子。注意没有设置 cookie:

我还注意到 Chrome 的 Cookies in use 视图中没有显示 cookie:

我的理解

据我了解,我可以使用 SameSite=Strict,因为 FE 和 BE 都是 运行 在本地主机上。

当我投入生产时,FE 和 BE 将不在同一个域中。然后,我必须使用 SameSite=None; Strict。这是正确的吗?

另外,我知道我也可以包含 HttpOnly,但我现在不用于调试目的。

我的理解正确吗?

谢谢!

在此先感谢您提供的任何帮助,非常感谢!

我建议您尝试将 allow-origin 设置为 * 并检查结果:

访问控制允许来源:*

它将允许来自任何地址的请求,不安全但可以帮助您找到问题的根源

我没有正确设置 credentials: include