如何使用 connect-mongodb-session 包将相同的 mongo 存储从一个节点应用程序引用到另一个应用程序

How to refer same mongo store from one node app to other app using connect-mongodb-session package

我有两个节点应用程序项目,一个用于登录身份验证服务器 (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
}))

storesession 使用相同的选项。两者都需要相同的 secret,因此为此生成一个密码安全的随机字符串,并通过环境变量 (process.env).

将其传递给两者