teh*_*ess 3 cookies http setcookie microsoft-edge
我正在本地测试应用程序,并向http://localhost:3000/api/auth/login发出授权请求。响应中将返回 set-cookie 标头以及 JWT 身份验证令牌。JWT 看起来像:
JWT-TOKEN=[really long alphanumeric string];Version=1;Comment=;Domain=;Path=/;Max-Age=3600;;HttpOnly
Run Code Online (Sandbox Code Playgroud)
之后,我向http://localhost:3000/api/other/resource发出另一个请求,但收到未经授权的错误,因为它期望请求中包含带有 JWT 令牌的 cookie。
Cookie 在 Firefox、Safari 和 Chrome 中设置,但在 Edge 中未设置。Edge 开发工具控制台中没有任何错误。知道为什么 Edge 中没有设置 cookie 吗?
我找到了一个适用于我的案例的答案。
我们在客户端使用 fetch。credentials: "omit",
在一些较旧的浏览器中,本机获取实现默认为credentials: "same-origin"
.
因此,添加此选项似乎允许 Edge 在 fetch 请求中接收 cookie,例如
fetch('/users', {
credentials: 'same-origin'
})
Run Code Online (Sandbox Code Playgroud)
https://github.com/github/fetch#sending-cookies供参考。不管标题的名称如何,“省略”都会禁用发送和接收 cookie。
归档时间: |
|
查看次数: |
3759 次 |
最近记录: |