【发布时间】:2020-04-28 06:47:43
【问题描述】:
当我尝试使用 apache 和自签名 ssl 证书在 localhost 上运行我的网站时,我总是遇到同样的错误。我不知道为什么会出现这个错误。 这是我的会话持久化,我不知道是否有错误,但我无法想象......再往下你可以找到错误。
我现在对这个问题很迷茫
app.use(cookieParser(sessionSecret));
app.use( session( {
store: sessionStore,
secret: sessionSecret, resave: false, saveUninitialized: true,
cookie: {secure: true, maxAge:24*60*60*1000},
genid: function (req) {return uuid.v4()}
}));
app.get('/login*', function (req, res) {console.log("login session is: "+req.session); loadSelectedFile(req, res);});
Error: secret option required for sessions
at session (C:\xampp\htdocs\node_modules\express-session\index.js:167:12)
at Layer.handle [as handle_request] (C:\xampp\htdocs\node_modules\express\lib\router\layer.js:95:5)
at trim_prefix (C:\xampp\htdocs\node_modules\express\lib\router\index.js:317:13)
at C:\xampp\htdocs\node_modules\express\lib\router\index.js:284:7
at Function.process_params (C:\xampp\htdocs\node_modules\express\lib\router\index.js:335:12)
at next (C:\xampp\htdocs\node_modules\express\lib\router\index.js:275:10)
at cookieParser (C:\xampp\htdocs\node_modules\cookie-parser\index.js:56:14)
at Layer.handle [as handle_request] (C:\xampp\htdocs\node_modules\express\lib\router\layer.js:95:5)
at trim_prefix (C:\xampp\htdocs\node_modules\express\lib\router\index.js:317:13)
at C:\xampp\htdocs\node_modules\express\lib\router\index.js:284:7
at Function.process_params (C:\xampp\htdocs\node_modules\express\lib\router\index.js:335:12)
at next (C:\xampp\htdocs\node_modules\express\lib\router\index.js:275:10)
at expressInit (C:\xampp\htdocs\node_modules\express\lib\middleware\init.js:40:5)
at Layer.handle [as handle_request] (C:\xampp\htdocs\node_modules\express\lib\router\layer.js:95:5)
at trim_prefix (C:\xampp\htdocs\node_modules\express\lib\router\index.js:317:13)
at C:\xampp\htdocs\node_modules\express\lib\router\index.js:284:7
【问题讨论】:
-
sessionSecret是不是代码开头定义的字符串?
-
嗨,Amir,是的,开头有一个已定义的字符串。我现在尝试了几件事,但它并没有改变。这个问题是否也与自签名证书有关?
-
我对 SSl 证书了解不多,但根据我用 express 创建的应用程序,这就是我所拥有的 app.use(session( {secret: "String for encrypting cookies.", name: "Cookie_name", cookie: {maxAge:7 * 24 * 3600 * 1000}, proxy: true, resave: true, saveUninitialized: true }));
-
我可能说的很明显,但是你安装并需要 express-session 吗?
-
您好阿米尔,非常感谢您的帮助!我仔细检查了 npm express-session 安装,一切正常。但是我没有会话秘密,当我看到你的例子时我才想到它......这很有帮助!
标签: html express-session