【发布时间】:2013-10-06 21:51:37
【问题描述】:
我有一种情况,可以从多个不同的域访问应用程序。例如,foo.com 和 bar.com 理论上都可以指向我的应用程序。此外,它们的子域也可以指向我的应用程序,例如 red.foo.com 和 blue.foo.com。我正在使用 Express cookie 会话,会话的初始化代码如下所示:
app.use(express.session({
secret: "secret",
cookie: {
domain: ".foo.com"
},
store: new MongoStore({
db: db
})
}));
这适用于用户通过 foo.com 或其任何子域,但 bar.com 不起作用。我需要同时拥有两者。理想情况下,我会根据请求将其设置为不同的域,但我不确定我会如何做到这一点。我的请求是高度异步的,如果我只是在每次请求时为整个应用程序设置它,我担心当两个调用同时进入时它可能无法正常工作。
这有可能吗?有没有人有解决这个问题的想法?
【问题讨论】:
-
@fardjad 这将是理想的,你有更多的信息吗?我不像我希望的那样熟悉中间件
-
所以本质上,我会遍历我希望能够设置会话的域列表,并为每个域执行一个 app.use?所以会有一堆不同的
express.session中间件在我的应用程序开始时初始化,并且在我的应用程序的整个生命周期中都处于活动状态?
标签: javascript node.js session express session-cookies