他ドメインのサイトに一時的に遷移し、戻ってくるような挙動の場合の注意

利用している決済システムの都合上、一度自前のサイトから金融機関のサイトへジャンプし、金融機関サイト側で手続きを完了してから自前のサイトへ戻ってくる挙動を実装中のハマった点。

自前のサイトへ戻ってくる際、POSTでパラメータが送信されて戻ってくるのだが、Cookieが送信されていなかったため、自前サイト側でセッションを復元できず処理が継続できなかった。

詳しく調べると、Firefox 52を利用した場合は自前サイトに戻ってくる際にCookieが送信されるが、Chrome 91ではCookieが送信されていなかった。
さらに調査を進めると、Chrome 80からChrome 84あたりにかけてSameSite Cookieの扱いが変更された模様。

結局、セッションに登録するCookieに、SameSite=Noneとなるように属性を設定したところ、Chrome 91でも期待の動作となった。

セキュリティの穴となる可能性もありそうなため、注意が必要だがPlay Framework 2.6で上記設定を行うためには、application.conf内で

play.http.session.sameSite = null

を指定すれば良い。