Basic認証2回でちゃうとき
ハマった。。
NextJSのアプリにAWSのWAFでBasic認証かけたら、特定のページで1回目の認証をスルーした後でもう一度認証求められるようになった。
結論いうとChromeの仕様で401返されたときにBasic認証の認証済みステータスもろとも消し去るようになったのが原因。
- アプリ全体(ALB)にWAFでBasic認証かける
- ページ開いてBasic認証突破する
- NextJSからbackendにアプリのログインチェックのリクエスト投げて401になる(アプリのログイン失敗)
- アプリのログイン失敗401によりBasic認証のステータスまで消滅
- もう一度認証求められる
アプリの401を別のステータスに変えるとかすればうまくいくが、ちょっと嫌なのでそれはやらない。
まあ本番関係ないからいいか。