ブラウザのセキュリティ強化のため、クロスドメインアクセスにおける Cookie の扱いに変更がありました。
Google Chrome では バージョン 80 以降、SameSite 属性が宣言されていない Cookie は SameSite=Lax として扱われるようになりました。
外部サイトから遷移した場合、SameSite 属性が宣言されていない Cookie は送信されません。
Microsoft Edge でもバージョン 86 以降は同様の対応が行われています。
このブラウザの仕様変更により、以下のような事象が発生します。
【事象1】
事前に intra-mart Accel Platform の認証が完了しているブラウザを利用して、外部サイトのリンク先などから、認証が必要なintra-mart Accel Platform のページへ遷移した場合、未認証状態としてアクセスされます。
外部サイトのリンク先などから遷移する場合、Cookie が送信されないためセッションの維持できません。
【事象2】
SAML認証を利用して intra-mart Accel Platform のログイン画面を経由せずに任意の認証が必要なページへ遷移する機能(samlsso)を利用した場合、該当ページではなくHOME画面に遷移します。
SAML認証時は、IdP(外部サイト)のログイン画面で認証を行います。
IdPで認証後、intra-mart Accel Platform に遷移して、自動ログインが行われます。
このとき、目的のページ情報(URL)は、事前にセッションに保管されていますが、Cookie が送信されないため、目的のページ情報が取得できません。
目的のページ情報が取得できないため、HOME画面に遷移します。
【対応方法】
外部サイトからの遷移でCookieを送信するためには、intra-mart Accel Platform で利用する Cookie の属性に SameSite=None; Secure を付与します。
また、intra-mart Accel Platform へは https でアクセスする必要があります。
具体的には以下の対応が必要です。
Resin 4.0.64 以降 かつ Resin のセッション管理を利用している場合
resin-web.xml に以下のタグ( cookie-same-site とcookie-secure )を追加します。
<web-app>
<session-config>
・・・・
<cookie-same-site>None</cookie-same-site>
<cookie-secure>true</cookie-secure>
・・・・
</session-config>
</web-app>
Resin 4.0.63 以前 または 「セッション管理モジュール」を利用している場合
以下のCookBookを参考に対応してください。
https://dev.intra-mart.jp/cookbook-205087/
キーワード:
セキュリティ、SameSite、Cookie 、SAML、samlsso、未認証、外部サイト、クロスドメイン、セッション、セッション管理モジュール、Resin、Google Chrome、Microsoft Edge
-- 対象 ------------------------------------------------------------------------
iAP/Accel Platform/全アップデート
--------------------------------------------------------------------------------
FAQID:1142