set-cookie无法写入本地

发布于 2022-09-11 16:00:34 字数 1239 浏览 39 评论 0

问题描述

接收到set-cookie后无法写入到本地,domain没有用

http请求如图

clipboard.png

clipboard.png

clipboard.png

服务端代码

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

生死何惧 2022-09-18 16:00:36

安全原因, 因为请求的 url 和 要设置 cookie 的源不一样(端口不同).

莫多说 2022-09-18 16:00:36

前端跨域权限设置后忘记保存了qwq

失而复得 2022-09-18 16:00:34

你是前端项目(域名a)请求的后端接口(域名b),set-cookies是域名b的response所以cookies设置给了域名b,而a域名是不能访问到的。
实际上你可以不管理cookies,在你下次请求接口时候cookies会自动带上,不需要你在前端项目中手动管理set-cookies内容

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文