API Gateway+LambdaでヘッダにSet-Cookieを複数設定する方法

API Gateway+LambdaでヘッダにSet-Cookieを複数設定する方法

CloudFrontの署名付きCookieを使用しようとしたのですが、3つSet-Cookieを設定する必要があります。

ところが、API GatewayはSet-Cookieを複数設定することをサポートしていないようです。Discussion Forums

ここで抜け道を探しました。https://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2

API Gatewayのヘッダーは大文字小文字が区別される

API Gatewayのヘッダは大文字小文字が区別されます。

なので、以下は全て別のヘッダとなります。

これでLambdaで設定してみます。簡単にするためにLambdaプロキシの統合にチェックを入れています。

Lambdaのindex.jsです。(ハンドラ:index.handler)

API Gateway + Lambdaの構成でデプロイします。

ヘッダ情報の確認方法

ChromeのNetworkタブで確認できます。

API Gateway+LambdaでヘッダにSet-Cookieを複数設定する方法

これでAPI Gateway + Lambdaで署名してもらって、CloudFrontに署名付きCookieでアクセスすることが可能です。

スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA