外部サイトから intra-mart Accel Platform に遷移した場合、未認証状態になることがあります。

 
ブラウザのセキュリティ強化のため、クロスドメインアクセスにおける 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.57 以降 かつ 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.56 以前 または 「セッション管理モジュール」を利用している場合

    以下のCookBookを参考に対応してください。
    https://dev.intra-mart.jp/cookbook-205087/


キーワード:
セキュリティ、SameSite、Cookie 、SAML、samlsso、未認証、外部サイト、クロスドメイン、セッション、セッション管理モジュール、Resin、Google Chrome、Microsoft Edge

-- 対象 ------------------------------------------------------------------------
iAP/Accel Platform/全アップデート
--------------------------------------------------------------------------------

FAQID:1142
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
Powered by Zendesk