如何使用节点 cookie-session 创建 cookie

问题描述

我正在运行一个小型节点应用程序。我试图让它为每个访问者创建一个 cookie,称为“会话”,其中包含 - 例如 - 会话 ID。但是我似乎无法让节点通过 cookie-session 创建 cookie。到目前为止我的代码:

const fs = require('fs');
const http = require('http');
const https = require('https');
const privateKey = fs.readFileSync('PATHTOKEY');
const certificate = fs.readFileSync('PATHTOKEY');
const credentials = {key: privateKey,cert: certificate};
const Keygrip = require("keygrip");    

const express = require('express');
const app = express();    

const port = APORTNUMBER;
const secureport = APORTNUMBER;
const helmet = require('helmet');    

const options = {
  dotfiles: 'deny',etag: true,extensions: ['html','htm'],index: 'index.html',lastModified: true,maxAge: 0,redirect: true,setHeaders: function (res,path,stat) {
    res.set('x-timestamp',Date.now())
  }
};    

app.use(express.static('public',options),helmet());    

到目前为止,没有问题。但随后是中间件 cookie 会话。

const session = require('cookie-session');
const expiryDate = new Date(Date.now() + 60 * 60 * 1000); // 1 hour    

app.use( 
  session({
    name: 'session',keys: new Keygrip(["MYSECRET1","MYSECRET2"]),cookie: {
      secure: true,httpOnly: true,expires: expiryDate
    }
  })
);    

上面,我已经指定了中间件来使用这些 cookie 会话参数,但是我如何从这里开始真正让它创建这个 cookie?

const httpServer = http.createServer(app);
const httpsServer = https.createServer(credentials,app);    

httpServer.listen(port);
httpsServer.listen(secureport);    

console.log("Node server started");

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)