三星互联网浏览器忽略Ajax请求上的set-cookie

时间:2019-05-01 07:24:09

标签: ajax http cookies samsung-browser

登录后,我设置了一些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的响应,并且似乎已经奏效。更多挖掘...

2 个答案:

答案 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"添加到请求后,它可以正常工作。