登录后,我设置了一些cookie,这些cookie可以在FF,Chrome,Edge等环境中使用。但是由于某些原因,Samsung Internet Browser似乎忽略了我的cookie。
我已经启用了cookie,并且它正在接受来自其他站点的cookie,但是我不知道为什么它不接受它们。我已经从服务器上获取了此捕获信息:
HTTP/1.1 200 OK
Content-Type: application/json
Set-Cookie: token=e1c137y8WEZItXVWExXBWRyQl9mxgxEvEMG++F6pzwart%2FAO0lTSA3tL48oeHclD%2FLQMdXWhgXvefpGR3QGMqwMe8cg%3D; HttpOnly; SameSite=Strict; Path=/; Expires=Wed, 08 May 2019 07:03:43 GMT
Set-Cookie: email=%2FwGLVu+6Yv5fYpSyZwRE8TIi0MlZZ6WaN+OaKusCF6pEyQjomquJmWwqSgrcHg2dcBeMBU%2Foeg%3D%3D; HttpOnly; SameSite=Strict; Path=/; Expires=Wed, 08 May 2019 07:03:43 GMT
Set-Cookie: testing=TESTETSETESET; HttpOnly
Server: Rocket
Content-Length: 56
Date: Wed, 01 May 2019 07:03:43 GMT
{ ... }
我尝试更改HttpOnly,SameSite,安全和域设置,但到目前为止没有任何更改。
有什么想法吗?
三星Internet版本9.2.00.70
编辑:
似乎是因为从Ajax查询中设置了cookie。我将其更改为来自常规形式POST的响应,并且似乎已经奏效。更多挖掘...
答案 0 :(得分:2)
您的问题也对我有所帮助。我在Samsung Browser 9.2中有完全相同的错误。我正在使用github fetch实现,在文档中您可以看到:
凭据的默认值为“ same-origin”。
但是,凭据的默认值并不总是相同。的 以下版本的浏览器实施了较旧版本的 获取默认为“忽略”的规范:
Firefox 39-60
Chrome 42-67
Safari 10.1-11.1.2
如果您定位这些浏览器,建议始终指定凭据:“相同来源” 显式地使用所有提取请求,而不是依赖默认值:
所以这就是为什么要显式设置凭据:“ same-origin”对您和我都有效的原因。
答案 1 :(得分:1)
原来是我的Ajax请求所致。将credentials: "same-origin"
添加到请求后,它可以正常工作。