ホストされた UI とフェデレーションエラーレスポンス - Amazon Cognito

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ホストされた UI とフェデレーションエラーレスポンス

ホスト UI のサインインプロセスまたはフェデレーションログインでエラーが返されることがあります。認証がエラーで終了する原因となる条件は次のとおりです。

  • ユーザープールでは実行できない操作を、ユーザーが実行する。

  • Lambda トリガーが想定どおりの構文で応答しない。

  • ID プロバイダー (IdP) がエラーを返す。

  • Amazon Cognito は、ユーザーが提供した属性情報を検証できませんでした。

  • IdP は、必須の属性に対応するクレームを送信しませんでした。

Amazon Cognito はエラーを検出すると、以下のいずれかの方法でエラーを通知します。

  1. Amazon Cognito は、リクエストパラメータにエラーを含むリダイレクト URL を送信します。

  2. 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 とのセッション中のユーザーエラーには、この形式のプロバイダーエラーメッセージは含まれません。