节点表达会话 - 秘密是否需要以某种方式是唯一的?

A. *_*Lau 6 session session-cookies node.js express

所以我正在使用express-session https://github.com/expressjs/session,我想知道这个秘密是否需要对每个用户都是唯一的。我似乎找不到任何说明它的作用的内容,因为用法只是列出:

app.use(session({
  secret: 'keyboard cat',
  resave: false,
  saveUninitialized: true,
  cookie: { secure: true }
}))
Run Code Online (Sandbox Code Playgroud)

我目前只是使用创建秘密bcrypt,但我不确定这是否会影响更新服务器文件时的会话。

var salt1 = bcrypt.genSaltSync();
var salt2 = bcrypt.genSaltSync();
var secret = bcrypt.hashSync(salt1 + salt2, 10);
app.use(session({
    secret, // set this to a long random string!,
}));
Run Code Online (Sandbox Code Playgroud)

会话是否应该在函数本身内部生成,即function generateSession()

小智 5

该秘密对于所有用户都是相同的。您提供的“秘密”只是充当会话哈希函数的盐。您使用的方法与任何方法一样好,因为每次重新启动应用程序时它都会生成新的盐。