express-sessionの設定項目が意味不明で日本語情報もほとんど見当たらなかったので、自身の理解のために雑に翻訳。限りなく0に等しいので参考にしないほうが良い。自分自身が追記した注釈に関しては「独自追記」と記載。registryを通して利用可能なNode.jsモジュールです。installコマンドで出来ます。require('express-session')session(options)与えられたoptionsに従ってセッションMiddlewareを作成します。**Note:**セッションデータはクッキーには保存されません、クッキーに保存されるのはセッションIDです。セッションデータ自体はサーバーサイドで保存されます。**Note:**バージョン1.5.0以降、このモジュールにcookie-parserミドルウェアは不要になりました。このモジュールは今ではreq/resを用いて直接クッキーを読み書きしています。cookie-parserを使用すると、もしsecretがこのモジュールとcookie-parser間で統一されていない場合不具合の原因になってしまいます。**Warning:**デフォルトのサーバーサイドのセッションストレージであるMemoryStoreは、わざと本番環境のために設計していません。process,つまりMemoryStoreは開発やデバッグ用途のものなのです。Storesを確認してください。Optionsexpress-sessionはoptionsオブジェクトに以下のプロパティを利用できます。cookieセッションIDを保存するクッキーのための設定です。デフォルトは以下の通りです。null}以下のオプションはこのオブジェクトに設定できるものです。独自追記:一般的なCookieのOptionなので省略genid新しいセッションIDを生成するために呼ばれる関数。セッションIDとして使用される文字列を返却する関数を与えて下さい。IDを生成する際にreqに関わる値を使用したい時のために、第一引数にreqが与えられています。デフォルトは、IDを生成するためにuid-safeライブラリを使用している関数です。**NOTE:**ユニークなIDを生成する際には、セッションIDが競合しないよう注意して下さい。cat'}))nameHTTPレスポンスに設定するセッションIDクッキーの名前です。デフォルトはconnect.sidです。hostname)、セッションのクッキーをお互いに分離させる必要があります。シンプルな方法としてはアプリ毎に異なるnameを設定することです。proxyクッキーにsecure属性が設定されている際に、リバースプロキシを信頼するかどうか。デフォルトはundefined。X-Forwaded-Protoヘッダーが使用されます。全てのヘッダーは無視され、接続はダイレクトなTLS/SSL接続の時のみセキュアとみなされます。proxyの設定を使用します。**独自追記:**この項目よくわからないのであくまで予想だけど、リバースプロキシは簡単に信頼していいものではなく、X-Forwaded-Protoヘッダーが改鼠される可能性があるみたい。Set-Cookieでsecure属性を設定しているにも関わらず、リバースプロキシとクライアント間の通信がhttpなのにhttpsと見なしてクッキーを送ったらMITM攻撃でセッションハイジャックされるので、それの対策っぽい。**独自追記:**X-Forwaded-Protoヘッダーは、クライアントとロードバランサ間のプロトコルがHTTPなのかHTTPSなのか判別するためのヘッダー。ロードバランサを使用している際には、サーバーは何も対策していなければロードバランサとサーバー間のプロトコルしか判別出来ないっぽい。それだとCookieのsecureオプションを適用するかどうか判断する際に困るからこの設定がある、みたい。true.rollingセッションIDのクッキーを毎レスポンスに強制的に付与します。そのことでクッキーの期限がリセットされます。デフォルトはfalseです。**独自追記:**通常はクッキーの期限が切れない限り新しくレスポンスにクッキーを付与しないんだけど、このオプションをtrueすると毎回Set-Cookieされていており、またそれのExpireはmaxAgeを元に計算された新しい期限が設定されていた。0.3.0secret必須設定セッションIDクッキーを暗号化するためのsecretです。単一のsecretなら文字列、複数のsecretなら配列を指定します。配列を指定した場合、セッションIDクッキーの暗号化には最初の要素のみが使用され、リクエスト内の署名の復号には全ての要素が使用されます。storeのインスタンスです。デフォルトでは新しくMemoryStoreインスタンスが指定されています。unsetreq.sessionをunsetした際(deleteや、nullを設定する等)の結果をコントロールします。レスポンス終了時にセッションが破棄されます。ストア内のセッションは維持されますが、リクエストによってセッションの変更が発生したとしても無視され保存されません。