7

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:4000origin を受け入れるようにCORS を設定していますlocalhost:3000。Jquery で投稿するときは を使用しますxhrFields: { withCredentials: true }

だから私の質問は、クッキーを互いに設定するようにアプリを正しく構成する方法ですか? :)

4

1 に答える 1