CookBook

Web サーバで Cookie に SameSite=None; Secure 属性を追加する方法

投稿日:

ブラウザの仕様変更により、クロスドメインアクセスにおける Cookie の扱いに変更がありました。

Google Chrome では バージョン 80 以降、SameSite 属性が宣言されていない Cookie は SameSite=Lax として扱われるようになりました。

※Google Chrome の仕様変更については、以下 Google Developers をご参照ください。

他のブラウザも同様の仕様に変更されていく可能性があります。

この仕様変更でクロスドメインより遷移する場合、遷移先サイト(intra-mart Accel Platform)で作成した Cookie が遷移先サイトに渡されない事象が発生します。
これにより、クロスドメインからのアクセスでは、セッションが維持できなくなります。

この事象を回避するためには intra-mart Accel Platform で作成した Cookie の属性に SameSite=None; Secure を付与する必要があります。

(注意)
Cookie の属性に SameSite=None; Secure を付与する場合、intra-mart AccelPlatform へのアクセスは https である必要があります。

intra-mart Accel Platform で Session Cookie に SameSite 属性 を付与することは、Resin 4.0.57 以降であれば可能です。(Resin のセッションを利用する場合)

ただし、2022/02/09(現在) 、最新バージョン(2021 Winter)であっても、「セッション管理モジュール」を利用する場合には、セッション管理モジュールの設定で Session Cookie に SameSite 属性 を付与することはできません。

セッション管理モジュールを利用している場合には、Web サーバで SameSite 属性を付与する必要があります。そこで、本記事では Web サーバで Cookie に SameSite 属性を付与する方法について解説します。

Apache の場合

httpd.conf に以下の設定を追加します。
set-cookie される Cookie に SameSite 属性 が存在しない場合に、SameSite=None; Secure を付与します。

# Secure Cookie
Header edit Set-Cookie "^(?!.*(\s+|;)(?i)SameSite=)(.*)" "$0; SameSite=None; Secure"


SetEnv proxy-nokeepalive 1
・・・・


Web サーバを再起動してください。

IIS の場合

web.config に以下のコードを追加します。
set-cookie される Cookie に SameSite 属性 が存在しない場合に、SameSite=None; Secure を付与します。

<rewrite>
・・・・
<outboundRules>
・・・・
<rule name="AddSameSiteCookie">
<match serverVariable="RESPONSE_SET_COOKIE" pattern="^(?!.*(\s+|;)SameSite=)(.*)" ignoreCase="true" />
<action type="Rewrite" value="{R:0}; SameSite=None; Secure" />
</rule>
・・・・
</outboundRules>
</rewrite>

Web サーバを再起動してください。

-CookBook

執筆者:


comment

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

関連記事

no image

申請画面で設定した特定の期日までは承認が行えないフローの作成方法

このCookbookでは、申請画面で設定した特定の期日までは承認が行えないフローの作成方法を紹介します。 アクション設定の表示モード変換を使用し、承認可能日の前後で承認ボタンの表示有無が切り替わる画面 …

no image

共通マスタのアカウント更新を契機に、IMBoxグループに参加させる方法(IM-LogicDesigner トリガ定義)

このCookBookでは、共通マスタのアカウント更新を契機に、IMBoxのGroupBoxに参加させる方法を紹介します。 IM-LogicDesignerのトリガ定義を利用することで、ノンプログラミン …

no image

IM-BloomMaker TreeViewの作成方法

このCookBookでは、intra-mart Accel Platform 2020 Summer から利用可能になったコンテンツ種別「Bulma」で TreeViewのような動きをするサンプルの作 …

IM-BloomMaker 「ファイルアップロード」エレメントの利用方法

このCookBookでは、 2020 Spring でリリースした「ファイルアップロード」エレメントの利用方法について説明していきます。 登録画面でアップロードしたファイルを別画面でダウンロードするこ …

no image

IM-BloomMaker レイアウトの作り方(縦に並べる編)

この CookBook では、コンテンツ種別が Bulma のレイアウトを縦に並べる方法を紹介します。また、レイアウトを横に並べる編もありますので、併せてご確認ください。https://dev.int …