在我的目录中,我有app.js和Index.htmml;我正在尝试从App.js设置cookie;我试过了: -
var express = require('express'),
app = express(),
http = require('http'),
cookieparser = require ('cookie-parser'),
httpServer = http.Server(app);
app.use(express.static(__dirname + '/data'));
app.get('/', function(req, res) {
let options = {
maxAge: 60000, // would expire after 1 minutes
httpOnly: true,
signed: true ,
secret: 'secret'
}
// Set cookie
app.use(require('express-session')({ secret: 'keyboard cat', resave: true, saveUninitialized: true }));
res.cookie('cookieName', 'Success', options)
res.sendFile(__dirname + '/index.html');
});
app.listen(8080);
当我从Cmd运行app.js时,我忽略了这个错误 在此先感谢您的帮助
Error: cookieParser("secret") required for signed cookies
答案 0 :(得分:1)
您需要指定一个在签名cookie时使用的密钥。
您可以通过在代码中添加以下行来完成此操作。
app.use(cookieparser("secret"));
答案 1 :(得分:0)
根据代码段,您正在使用express-session
模块,如下所示:
app.use(require('express-session')({ secret: 'keyboard cat', ... }));
这已经表明您希望对Cookie进行签名。因此,在Cookie options
中,您可以删除选项signed: true
,因为它是多余的。
最后一点,您需要改进该代码。