13.6. セッションオプション
OAuth サーバーは、ログインおよびリダイレクトフローで署名および暗号化される Cookie ベースセッションを使用します。
sessionConfig
スタンザを使用してセッションオプションを設定します。
例13.12 マスター設定のセッションオプション
oauthConfig: ... sessionConfig: sessionMaxAgeSeconds: 300 1 sessionName: ssn 2 sessionSecretsFile: "..." 3
- 1
- セッションの最大期間を制御します。トークン要求が完了すると、セッションは自動的に期限切れとなります。auto-grant が有効にされていない場合、ユーザーがクライアント承認要求を承認または拒否するためにかかると想定される時間の間、セッションは継続する必要があります。
- 2
- セッションを保存するために使用される Cookie の名前です。
- 3
- シリアライズされた
SessionSecrets
オブジェクトを含むファイル名です。空の場合、サーバーが起動されるたびにランダムの署名および暗号化シークレットが生成されます。
sessionSecretsFile
が指定されていない場合、マスターサーバーが起動されるたびにランダムの署名および暗号化シークレットが生成されます。つまりマスターが再起動されると、進行中のログインではセッションが無効になります。また、これは他のマスターのいずれかによって生成されるセッションを復号化することはできないことも意味します。
使用する署名および暗号化シークレットを指定するには、sessionSecretsFile
を指定します。これにより、シークレット値と設定ファイルを分離でき、たとえば、設定ファイルをデバッグなどの目的に合わせて配布可能な状態とすることができます。
複数のシークレットを sessionSecretsFile
に指定してローテーションを有効にできます。一覧の最初のシークレットを使用して、新しいセッションに署名し、これを暗号化します。既存のセッションは、成功するまで各シークレットによって復号化され、認証されます。
例13.13 セッションシークレット設定:
apiVersion: v1 kind: SessionSecrets secrets: 1 - authentication: "..." 2 encryption: "..." 3 - authentication: "..." encryption: "..." ...