ALB の Cognito ユーザー認証で「Something went wrong」を回避するには
困っていた内容
Cognito を利用した ALB のユーザー認証を構築しました。
ALB の認証が行われる URL へアクセスしたところ、次のような URL にリダイレクトされ、エラーが表示されました。
https://example.auth.ap-northeast-1.amazoncognito.com/error?error=redirect_mismatch
Something went wrong
An error was encountered with the requested page.
どう対応すればいいの?
「許可されているコールバック URL」を次の形式に変更してください。
https://<domain>/oauth2/idpresponse
# 例
https://example.com/oauth2/idpresponse
Cognito を利用した ALB のユーザー認証を設定する場合、アプリケーションクライアントで許可するコールバック URL には次の形式を設定する必要があります
https://<domain>/oauth2/idpresponse
※<domain>
は ALB のドメインもしくは、CNAME を設定したカスタムドメインです。
上記形式のコールバック URL が許可されていない場合、redirect_mismatch
を含むエラーが発生します。
参考資料
redirect_mismatch
Amazon Cognito を使用している場合は、コールバック URL を https://<domain>/oauth2/idpresponse に設定します。別の IdP を使用している場合は、リダイレクト URI を https://<domain>/oauth2/idpresponse に設定します。
**注:置換<domain>**Application Load Balancer へのアクセスに使用されるドメインを使用します。
Amazon Cognito のコールバック URL フィールドで次のリダイレクト URL のいずれかを許可します。ここで DNS はロードバランサーのドメイン名であり、CNAME はアプリケーションの DNS エイリアス (使用している場合) です。
https://DNS/oauth2/idpresponse
https://CNAME/oauth2/idpresponse