Javascript 浏览器中未设置Cookie(Node.js+;Express.js)
我有一个web服务器,它在Javascript 浏览器中未设置Cookie(Node.js+;Express.js),javascript,node.js,http,cookies,https,Javascript,Node.js,Http,Cookies,Https,我有一个web服务器,它在res对象上设置httpOnlycookie,但它不保存在浏览器中 const refreshToken = 'my-token' res.cookie('refreshToken', refreshToken, { httpOnly: true, secure: true, sameSite: 'none' }) 此服务器在https://192.168.1.179:3001 客户端应用程序(Angular 11)在https://192.168.1.179:420
res
对象上设置httpOnly
cookie,但它不保存在浏览器中
const refreshToken = 'my-token'
res.cookie('refreshToken', refreshToken, { httpOnly: true, secure: true, sameSite: 'none' })
此服务器在https://192.168.1.179:3001
客户端应用程序(Angular 11)在
https://192.168.1.179:4200
我为服务器和客户机生成了自签名ssl证书(并将它们安装为受信任的根权限),不知道这是否重要
有趣的是浏览器收到了这个cookie:编辑:我也
app.use(cors())
(如果这很重要)httpOnly cookies不能被浏览器中的客户端应用程序访问。将httpOnly更改为false。我不需要在javascript中访问它。我只需要将其存储在浏览器中,并在每次请求时发送。我发送的图片显示收到了cookie,但当我打开devtools->application->cookies时,cookie不在那里,我理解。当您使用Angular发出的请求将cookie发送回服务器时,是否使用Axios?通常,您使用credentials:true设置,在服务器中使用cors,如下所示:app.use(cors({credentials:true}))
。是的,我有这些选项。我注意到,当我从我的服务器(来自同一个域)提供我的应用程序时,cookie被保存。我想这只是因为第三方cookie通过不安全的连接发送的限制