我正在开发一个nodejs网络应用程序,因为我有多个子域名,如domain.com,sub1.domain.com,sub2.domain.com等。
如果用户登录到sub1.domain.com并被重定向到domain.com或sub2.domin.com,则会在未登录的情况下提供,
如何跨子域和主域维护此会话?
我使用express,nodejs,mongodb。
app.use(session({
secret: "secrete key",
store: new MongoStore({
db: "session-db"
})
}));
我尝试这样设置,没有工作:
app.use(session({
secret: "secret key",
cookie: { domain:'.yourdomain.com'}, // here I used '.localhost'
store: new MongoStore({
db: "session-db"
})
}));
答案 0 :(得分:2)
不推荐您提出的问题,例如:Share cookie between subdomain and domain
你真正想要的是单点登录(SSO)。
有两种方法可以在Node中进行SSO(我很清楚,可能还有其他工具,我从未听说过):
我是express-stormpath库的作者,所以我有点偏颇,但总的来说,SSO的东西实际上非常复杂,并且有很多潜在的问题用它来实现错误的东西