Connect のモジュールconnect.session
とconnect.cookieParser
. ドキュメントに従って、両方ともsecret
パラメーターを受け入れます。このキーは、ユーザーが Cookie を改ざんするのを防ぐために使用されます。
両方のモジュールに同じキーを設定する必要がありますか、それとも 2 つの異なるモジュールに設定する必要がありますか? それとも、そのうちの1つにのみキーを渡す必要がありますか?
Connect のモジュールconnect.session
とconnect.cookieParser
. ドキュメントに従って、両方ともsecret
パラメーターを受け入れます。このキーは、ユーザーが Cookie を改ざんするのを防ぐために使用されます。
両方のモジュールに同じキーを設定する必要がありますか、それとも 2 つの異なるモジュールに設定する必要がありますか? それとも、そのうちの1つにのみキーを渡す必要がありますか?
どちらか一方だけを設定する必要があります。ただし、使用する異なる を与えるために、それぞれに渡すことができsecret
ます。
それらの違いは、いわゆる「貪欲さ」にあります。
session(secret)
to 自体をsecret
保持し、セッション ID を保持する Cookie にのみ使用します。
cookieParser(secret)
一方、任意の Cookie に署名できるようにします。
Express' で署名付き Cookie を作成できますresponse.cookie()
。
この方法では、署名付き Cookie もサポートされます。
signed
オプションを渡すだけです。指定res.cookie()
すると、渡されたシークレットを使用しexpress.cookieParser(secret)
て値に署名します。res.cookie('name', 'tobi', { signed: true });
後でreq.signedCookiesオブジェクトを介してこの値にアクセスできます。