set-cookie无法写入本地
问题描述
接收到set-cookie后无法写入到本地,domain没有用
http请求如图
服务端代码
var cookieParser = require( 'cookie-parser' );
app.use( cookieParser() );
var allowCrossDomain = function( req, res, next ) {
res.header( 'Access-Control-Allow-Origin', '*' );
res.header("Access-Control-Allow-Headers", "Content-Type,Content-Length, Authorization, Accept,X-Requested-With");
res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
res.header('Access-Control-Allow-Credentials', 'true');
res.header("X-Powered-By",' 3.2.1');
res.header("Content-Type", "application/json;charset=utf-8");
next();
};
app.use( allowCrossDomain );
app.get( '/login', async( req, res ) => {
// ...
var cookie_data = { username: username, password: password };
res.cookie( 'userinfo', JSON.stringify( cookie_data ), { domain: 'http://47.52.236.152', httpOnly: false } );
res.send( ... );
} );
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
安全原因, 因为请求的 url 和 要设置 cookie 的源不一样(端口不同).
前端跨域权限设置后忘记保存了qwq
你是前端项目(域名a)请求的后端接口(域名b),set-cookies是域名b的response所以cookies设置给了域名b,而a域名是不能访问到的。
实际上你可以不管理cookies,在你下次请求接口时候cookies会自动带上,不需要你在前端项目中手动管理set-cookies内容