我正在为一项大学项目研究此行为。我在Google Cloud上部署了一个React Web应用程序和一个Go服务器。Web应用程序使用由我的Go服务器提供的API。该应用程序在台式机环境和Android智能手机上使用Chrome和Firefox浏览器运行得非常好,但当我在iOS(iPhone8)上使用相同的浏览器时,API调用不包含我在Go服务器中需要用于用户身份验证的cookie。Safari也可以正常工作,所以我只在iPhone上的Chrome和Firefox看到这种行为。这是两个调用相同API的标头,第一个使用Safari进行,第二个使用Firefox进行:Safari(iOS 12.0.1)。
当我使用fetch发送请求时,我设置了选项credentials: 'include',但是你可以看到第二个调用没有设置我所需的cookie... 我错过了什么吗?谢谢你的帮助。
GET /example/users HTTP/1.1
Host: api-server.com
Connection: close
Accept-Language: en-gb
Cookie: default=MTU0MDM3MTA0... /*COOKIE IS SET HERE*/
Dnt: 1
Origin: https://example.com
Referer: https://example.com/
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 12_0_1 like Mac OS X)
AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0
Mobile/15E148 Safari/604.1
X-Cloud-Trace-Context: 38640...
火狐浏览器(v14.0)
GET /example/users HTTP/1.1
Host: api-server.com
Connection: close
Accept-Language: en-gb
Origin: https://example.com
Referer: https://example.com/
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 12_0_1 like Mac OS X)
AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/14.0b12646
Mobile/16A404 Safari/605.1.15
X-Cloud-Trace-Context: cb5ff...
当我使用fetch发送请求时,我设置了选项credentials: 'include',但是你可以看到第二个调用没有设置我所需的cookie... 我错过了什么吗?谢谢你的帮助。