0

我有两个节点应用程序项目,其中一个用于登录身份验证服务器(server_app.js),另一个是仪表板节点项目(app_dashboard.js)。我将会话存储在名为会话的 mongodb 存储集合中。

server_app.js

const mongoDbStore = require('connect-mongodb-session')(session);
const uuidv4 = require('uuid').v4;
const store = new mongoDbStore({
    uri: MONGODB_URI,
    collection: 'sessions'
});
app.use(session({
    secret: uuidv4(),
    cookie: {
        path: '/',
        domain: 'localhost',
    },
    store: store,
    name: 'sid',

}))

现在,在成功登录 cookie 后,我将 session_id 转发到另一个应用程序,并且我想在我的 app_dashboard.js 会话中引用同一个 MongoDB 存储,如何使其工作以引用 server_app.js 中使用的同一个 mongo 存储来验证我的会议?

app_dashboard.js

app.use(session({
    secret: uuidv4(),
    resave: false,
    saveUninitialized: false,
    // name: 'sessionid',
    // store: store
}))
4

1 回答 1

1

store对和使用相同的选项session。两者都需要相同secret,因此为此生成一个加密安全的随机字符串,并通过环境变量 ( process.env) 将其传递给两者。

于 2021-03-29T08:32:54.627 回答