AWSのELB(Elastic Load Balancing) 構成時に Auth0 認証の例外 (Invalid state) に対処する
経緯
- ローカル環境 (ロードバランサー無し) ではうまく認証できる。
-
AWS上 (ロードバランサーあり) だと
Invalid state
でエラーになる。/Auth0.phpthrow new CoreException('Invalid state');
https://github.com/auth0/auth0-PHP/blob/660163b31beae4c550db68022c568b41df75d8e9/src/Auth0.php#L518
エラーの原因を調べる。どうやら xxx.auth0.com 側の認証処理後に
callback url
に乗せて Get パラメータで戻されるstate
の値とサーバのstate
の値に相違がある...。
結論
EC2 > ロードバランシング > ターゲットグループ > 属性の編集 > 「維持設定 有効化: on
」 にする。
注: 根本解決ではないが、ひとまずこの対処でいくことにした。
一定負荷を超えた場合に備えてスケーラブルなサービスを提供している場合、この方法ではのちのち問題になるので Amazon ElastiCache
を使うのが定石らしい。
余談
んなことで2時間ちかく時間が...けどこれロードバランサー使うときの常識なんだろうな😂
ちゃんと理解しておかないと他のトラブル時に対処できない、まずいな。
参考
スティッキーセッションというらしい。
https://hack-le.com/sticky-session/
Author And Source
この問題について(AWSのELB(Elastic Load Balancing) 構成時に Auth0 認証の例外 (Invalid state) に対処する), 我々は、より多くの情報をここで見つけました https://qiita.com/hykisk/items/1728a717b666897999d0著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .