4

Connect のモジュールconnect.sessionconnect.cookieParser. ドキュメントに従って、両方ともsecretパラメーターを受け入れます。このキーは、ユーザーが Cookie を改ざんするのを防ぐために使用されます。

両方のモジュールに同じキーを設定する必要がありますか、それとも 2 つの異なるモジュールに設定する必要がありますか? それとも、そのうちの1つにのみキーを渡す必要がありますか?

4

1 に答える 1

5

どちらか一方だけを設定する必要があります。ただし、使用する異なる を与えるために、それぞれに渡すことができ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オブジェクトを介してこの値にアクセスできます。

于 2013-08-22T08:09:27.837 に答える