node.js - Express.js 中的 CookieParser 和 CookieSession 中间件

标签 node.js express node.js-connect

我正在尝试在 Express.js 应用程序中使用 cookieSession 中间件。 cookieParser中间件是否需要在cookieSession中间件之前使用? cookieParser 和 cookieSession 中间件也接受 key 。我需要在两者中都设置 secret 吗?

var express = require('express');
var app = express();
app.use(express.cookieParser('secret'));
app.use(express.cookieSession({
  key: 'key',
  secret: 'Should it be same as above?'
});

我确实知道 cookieSession 中间件将 cookie 变量分配给 req.sesison 对象。所以我想 cookieParser 是必需的,但我应该在哪里设置 secret ?我应该在两者中设置相同的 secret 吗?

最佳答案

这里有一个问题。传递给 cookieParser 的 secret 字符串不是由它使用,而是由其他中间件使用,并且对于它来说是可选的。它将 req.secret 设置为该值。 cookieSession 只是检查 req.secret 是否存在并使用它,但默认情况下它将使用通过存储的 secret 显式传递的 secret 选项。因此,仅将选项传递给其中一个就足够了。

您可以在他们的文档中看到它:cookieParsercookieSession

关于node.js - Express.js 中的 CookieParser 和 CookieSession 中间件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20112876/

相关文章:

javascript - 分配给变量的基本 node.js 回调

javascript - 在 NestJS Controller 中检索多个参数 (@Param) 给出未定义的值

node.js - Express 路由器参数 - 与 URL 链接

javascript - 如何将 HTTP header 发送到 Connect (Node.js) 中的静态目录

Node.js - 为什么这些模块没有按照我的预期工作?

html - 使用 Spotify webAPI 播放艺术家 (ID) 的随机专辑

node.js - 测试RPC/Ganache : the tx doesn't have the correct nonce

javascript - 是什么让 Express 属于框架而不是 Web 服务器的范畴?

node.js - res.render(template)时使用node和express服务get(/foo/:bar) requests,,template中所有相对链接都是相对于/foo而不是/

javascript 和 node.js : oop