利用している決済システムの都合上、一度自前のサイトから金融機関のサイトへジャンプし、金融機関サイト側で手続きを完了してから自前のサイトへ戻ってくる挙動を実装中のハマった点。 自前のサイトへ戻ってくる際、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 ``` を指定すれば良い。
2021/07/01 18:33:32

コメント (0)

あなたもコメントしてみませんか

アカウント新規作成(無料)

既にアカウントを持っている方は ログイン