【发布时间】:2019-01-26 12:36:44
【问题描述】:
如何使用节点 js 生成 cookie,我正在使用 express-session 节点插件来生成 cookie。请告诉我哪里做错了
安装express-session插件
app.js
const session = require('express-session');
app.use(session({
secret: 'asdassadsazz',
resave: true,
saveUninitialized: true,
//cookie: { secure: true }
}));
app.use(passport.initialize());
app.use(passport.session());
passport.js
passport.serializeUser(function(id, done) {
console.log('ddd');
// console.log(user);
done(null, id);
});
passport.deserializeUser(function(id, done) {
User.findById(id, function (err, user) {
done(err, user);
});
});
controller.js
register: async (req, res, next) => {
console.log(req.body);
try {
const result = await db.User.create({
email: req.body.email,
password: req.body.password
})
console.log(result.id);
req.login(result.id,function () {
res.json({message:"Registration successfully"});
})
} catch (e) {
console.log(e)
}
},
它应该生成cookie并存储在浏览器中,但它没有生成任何cookie。
服务器日志
Executing (default): SHOW INDEX FROM `Users` FROM `sql12252060`
app is running on 5000
OPTIONS /users/register 204 1.943 ms - 0
{ email: 'a@g.com', password: '1' }
email element
Executing (default): INSERT INTO `Users` (`id`,`email`,`password`) VALUES (DEFAULT,'a@g.com','$2a$10$zhTaqEbEeMOaD8F..CQYRufALc5dD4l899qMKRw0QRxIWvrPMSlpq');
17
ddd
POST /users/register 200 932.036 ms - 39
是不同域的问题。我的服务器在 5000 端口上运行,客户端在 3000 上运行
【问题讨论】:
标签: javascript jquery node.js cookies passport.js