発生事象
- 特定のユーザーだけOIDCで
redirect_uri
が一致してないエラーが出る - ドメインは一致しているし、特に変なクエリが追加されているわけでもなさそう
- キャッシュクリアやシークレットモードを利用しても変化がない
原因
- アプリ側で言語をパスで分けていた
- ユーザーは想定した言語以外を利用していた
-> 結果、redirect_uri
に言語idが含まれており、それが一致しない原因だった
対応
-
redirect_uri
の言語の箇所をワイルドカードにする
or
- 特定の言語の
redirect_uri
を追加する
敗因
- 正常に認証できるURIと失敗したURIを比較しなかった
- すぐに見比べていれば気づいたはず…
対策
- スクリーンショットだけで判断せず、利用者からHARなどを入手し、実際のリクエストと比較して検証する