リダイレクトするとセッションが切れる

いやー参った。


リダイレクト、セッション などで検索すると同じようにCakePHP関係の話題が出ているんだけど、
Security.levelをmediumにすりゃOKとか、
セッションIDを引き回せばOKと書いてる。


それでは直らなかったので、覚書。


今回は、PayPal決済との絡みでこの現象がおきた。
PayPal決済では、ひとつの方法として、一旦PayPalに飛ばしてログインor会員登録してもらい、その後サイトに戻り(これは飛ばすときのパラメータでURLを指定するとログイン後自動的に戻ってくる。)、決済。
というやり方が出来る。


なので、
自分のサイト(商品選択など)

PayPal(ログインor会員登録)

自分のサイト(確認&決済)
という手筈。


確認&決済画面に戻ってきたときに、Chromeなど一部のブラウザ(?)でセッションが切れてしまい、エラーになった。*1


で、解決法は
Security.levelをlowにする。
これだけ。


原因は、Session.php内でmedium以上だと、リファラーチェックがかかるみたい。
ふぅ、分かってよかった。

*1:Firefoxではこの現象はおきなかった