【问题标题】:I can't create a cookie using node-client-sessions我无法使用节点客户端会话创建 cookie
【发布时间】:2016-07-29 04:04:48
【问题描述】:

我正在构建一个 NodeJS Web 服务器,主要是静态文件(即将推出),但我正处于能够对用户进行身份验证的地步,一切都很好,直到我通过设置 cookie 遇到了减速带。

我正在使用快速和客户端会话,而且我几乎是逐字逐句的示例代码。 无论我在做什么,我似乎都无法设置 cookie。

下面的代码我希望我错过了一个简单的问题!

** 版本 ** 节点JS:v 6.2 客户端会话:0.7.0

//** Required files
var express = require("express");
var bodyParser = require("body-parser");
var sessions = require("client-sessions");
var app = express();
var port = 8080;
var svr = app;

//** Middleware
app.use(express.static(__dirname + '/Public')); //** Use express globally to catch all requests and direct to Public folder
app.use(bodyParser.urlencoded({extended: false})); // create application/x-www-form-urlencoded parser
app.use(bodyParser.json()); // create application/json parser
app.use(sessions({
  cookieName: 'mySession', // cookie name dictates the key name added to the request object
  secret: 'kdheiuehiygft', // should be a large unguessable string
  duration: 24 * 60 * 60 * 1000, // how long the session will stay valid in ms
  activeDuration: 1000 * 60 * 5 // if expiresIn < activeDuration, the session will be extended by activeDuration milliseconds
}));

app.get("/", function(req, res){
    req.mySession.seenyou = true;
    res.setHeader('X-Seen-You', 'false');
    res.sendFile(__dirname + "/index.htm");
});

【问题讨论】:

    标签: node.js session express cookies


    【解决方案1】:

    原因似乎是 Express 在我设置任何内容并重定向到 Public 中的 index.html 文件之前“捕获”了输入。

    现在已经创建了一个单独的登录页面,该页面将数据 POST 到新路由,一切正常!

    【讨论】:

      猜你喜欢
      • 2015-12-28
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 2022-01-08
      • 1970-01-01
      • 2013-06-20
      • 2019-05-30
      相关资源
      最近更新 更多