如何在子域之间共享快速会话?

问题描述

我正在使用express-session和MongoDbStore存储会话变量。 但是,在使用vhost实现子域后,会话变量不会在子域之间共享。 我的会话配置如下

for (i = 0; i < strlen(password); i++)
{
    int c = password[i];
    hasDigit |= isdigit(c);
    hasUpper |= isupper(c);
    hasLower |= islower(c);
}

示例虚拟主机代码

app.use(session({
        secret: process.env.EXPRESS_SECRET,cookie: {
            path     : '/',domain   : 'example.com',httpOnly : false,maxAge   : 1000*60*60*24*7
        },store: store,resave: false,}))

会话变量存储在MongoDB中,但是每个子域都有不同的文档。 如何使这些会话变量在我的所有子域中通用?

到目前为止我一直在尝试什么: 使用resave为true,将domain保留为'.example.com',不包含path参数,不包含domain参数,不包含httpOnly参数 但是似乎没有任何作用 预先谢谢你

解决方法

我在论坛中浏览其他解决方案时找到了解决方案, 如果有人遇到此问题,请尝试使用此express函数:

 <img alt='robot' src={`https://robohash.org/${props.id}?size=200x200`} />