ホストされた UI とフェデレーションエラーレスポンス
ホスト UI のサインインプロセスまたはフェデレーションログインでエラーが返されることがあります。認証がエラーで終了する原因となる条件は次のとおりです。
-
ユーザープールでは実行できない操作を、ユーザーが実行する。
-
Lambda トリガーが想定どおりの構文で応答しない。
-
ID プロバイダー (IdP) がエラーを返す。
-
Amazon Cognito は、ユーザーが提供した属性情報を検証できませんでした。
-
IdP は、必須の属性に対応するクレームを送信しませんでした。
Amazon Cognito はエラーを検出すると、以下のいずれかの方法でエラーを通知します。
-
Amazon Cognito は、リクエストパラメータにエラーを含むリダイレクト URL を送信します。
-
Amazon Cognito はホストされた UI にエラーを表示します。
Amazon Cognito がリクエストパラメータに追加するエラーの形式は次のとおりです。
https://
<Callback URL>
/?error_description=error+description
&error=error+name
ユーザーが操作を実行できないときにエラー情報を送信できるようにする場合は、URL とテキスト、またはページのスクリーンショットをキャプチャするようにリクエストしてください。
注記
Amazon Cognito エラーの説明は固定文字列ではないため、固定のパターンや形式に依存するロジックは使用しないでください。
OIDC とソーシャル ID プロバイダーのエラーメッセージ
ID プロバイダー (IdP) は、エラーを返すことがあります。OIDC または OAuth 2.0 IdP が標準に準拠したエラーを返すと、Amazon Cognito はユーザーをコールバック URL にリダイレクトし、プロバイダーのエラーレスポンスをエラーリクエストパラメータに追加します。Amazon Cognito は、既存のエラー文字列にプロバイダー名と HTTP エラーコードを追加します。
次の URL は、エラーを返した IdP から Amazon Cognito へのリダイレクトの例です。
https://
www.amazon.com
/?error_description=LoginWithAmazon
+Error+-+400
+invalid_request+The+request+is+missing+a+required+parameter+%3A+client_secret
&error=invalid_request
Amazon Cognito はプロバイダーから受け取ったもののみを返すため、ユーザーにはこの情報のサブセットが表示される場合があります。
IdP による初回ログインで問題が発生すると、IdP はすべてのエラーメッセージをユーザーに直接配信します。Amazon Cognito は、ユーザーセッションを検証するリクエストを IdP に生成すると、エラーメッセージをユーザーに中継します。Amazon Cognito は、以下のエンドポイントからの OAuth および OIDC IdP のエラーメッセージを中継します。
/token
-
Amazon Cognito が IdP の認可コードをアクセストークンと交換します。
/.well-known/openid-configuration
-
Amazon Cognito は発行者のエンドポイントへのパスを検出します。
/.well-known/jwks.json
-
ユーザーの JSON ウェブトークン (JWT) を検証するために、Amazon Cognito は IdP がトークンの署名に使用する JSON ウェブキー (JWK) を検出します。
Amazon Cognito は HTTP エラーを返す可能性のある SAML 2.0 プロバイダーへのアウトバウンドセッションを開始しないため、SAML 2.0 IdP とのセッション中のユーザーエラーには、この形式のプロバイダーエラーメッセージは含まれません。