微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 如何使用Express在端口/域之间共享cookie

我有两个node.js(快速)应用程序在两个不同的端口上运行.一个运行在localhost:3000上,另一个运行在localhost:4000上.端口3000上的应用程序具有以下cookie配置:

app.use(express.cookieParser())

app.use(express.session({
    key: settings.session.key,
    secret: settings.session.secret,
    cookie: settings.session.cookie,
    fingerprint: function () { return '' },
    store: new MemoryStore()
}))

一个应用程序(在端口4000上)具有:

app.use(express.cookieParser())

app.use(express.session({
    key: settings.session.key,
    secret: settings.session.secret,
    cookie: settings.session.cookie,
    fingerprint: function() { return ''  },
    store: new MongoSessionStore({ db: db })
}))

它们都使用相同的会话配置对象(唯一的区别是一个存储在MongoDB中,而另一个存储在内存中.

我在localhost:3000上设置了一个像这样的cookie:

res.cookie('mycookie', 'bar', { domain: 'localhost:4000' })

然后我将POST(使用jquery.ajax)发送到localhost:4000上的路由,并且cookie mycookie不存在.

注意:我在localhost:4000上设置CORS以接受原始localhost:3000,当我使用Jquery发布时,我使用xhrFields:{withCredentials:true}.

所以我的问题是,如何正确配置应用程序以相互设置cookie?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐