我正在开发一个小型网站w/ Go,我试图从我的服务器设置一个cookie。
我在本地主机上运行服务器,127.0.0.1在端口5080
上将www.example.com别名为subdomain-dev.domain.com
。
My当我收到POST
到subdomain-dev.domain.com:5080/login
的响应时,我可以 * 看到 * set-cookie
标头。
HTTP/1.1 307 Temporary Redirect
Location: /
Set-Cookie: myappcookie=encryptedvalue==; Path=/; Expires=Fri, 13 Sep 2013 21:12:12 UTC; Max-Age=900; HttpOnly; Secure
Content-Type: text/plain; charset=utf-8
Content-Length: 0
Date: Fri, 13 Sep 2013 20:57:12 GMT
为什么Chrome或Firefox没有记录这个信息?在Chrome中,它不会显示在资源标签中。在FF中,我也看不到它。在以后的请求头中,我也看不到它。
4条答案
按热度按时间ftf50wuq1#
看到cookie中的
Secure
字符串了吗?是啊,我也是。不过要过几个小时。
如果设置了安全标志,请确保通过SSL(URL开头的https://)访问站点。
如果您在本地开发并且没有证书,请确保跳过该选项。
vd2z7a6w2#
在我的例子中,我不得不在我的回答中加上这一点:
我发现here,我的设置Cookie头是无法访问我的客户端,除非我把它添加到暴露的头标头。希望这可以帮助别人!
ht4b089n3#
发现相关的github问题响应cookie没有被发送,这很有帮助。
在我的例子中,我在https下运行react应用程序(使用mkcert工具),并进行跨源获取请求和获得响应。
1.为获取请求指定
credentials: 'include'
示例获取API1.从服务器指定这些响应标头
Access-Control-Allow-Origin
标头具有我的react应用程序的url值。1.添加以下属性设置Cookie标题
Path=/; HttpOnly; Secure; SameSite=None
using http cookies希望能对人有所帮助!
0pizxfdo4#
对于其他遇到这个问题的人,我需要做的一系列事情,以获得我的cookie(我碰巧使用fastapi-users在后端和js fetch api在前端):
cookie_samesite="none"
添加到cookie传输credentials: 'include'
添加到我的请求中