2 つの異なるポートで実行されている 2 つの node.js (高速) アプリがあります。1 つは で実行されてlocalhost:3000
おり、もう1 つは で実行されてい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
ます:
res.cookie('mycookie', 'bar', { domain: 'localhost:4000' })
そして、(jquery.ajaxを使用して)上のルートにPOSTしましたがlocalhost:4000
、Cookiemycookie
は存在しません。
注: localhost:4000
origin を受け入れるようにCORS を設定していますlocalhost:3000
。Jquery で投稿するときは を使用しますxhrFields: { withCredentials: true }
。
だから私の質問は、クッキーを互いに設定するようにアプリを正しく構成する方法ですか? :)