エラー応答の管理 - Amazon Cognito

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

エラー応答の管理

Amazon Cognito は、ユーザープールから返されるエラー応答のカスタマイズをサポートしています。認証、確認、およびパスワード回復関連の操作には、カスタムエラー応答を使用できます。[ PreventUserExistenceErrors ユーザー プール アプリケーション クライアントの設定で、ユーザーの存在に関連するエラーを有効または無効にできます。

カスタムエラー応答を有効にすると、 Amazon Cognito 認証 APIs 汎用認証失敗応答を返します。エラー応答は、ユーザー名またはパスワードが間違っていることを示します。 Amazon Cognito アカウントの確認とパスワードの回復 APIs シミュレートされた配信媒体にコードが送信されたことを示す応答を返します。エラー応答は、ステータスが ENABLED ユーザーが存在しません。以下は、 Amazon Cognito オペレーションは PreventUserExistenceErrors は に設定されています ENABLED.

ユーザー認証操作

次のいずれかの認証フローメソッドを以下の操作で使用することができます。

  • AdminInitiateAuth

  • AdminRespondToAuthChallenge

  • InitiateAuth

  • RespondToAuthChallenge

ユーザー名のパスワードに基づく認証

の認証フローで、 ADMIN_USER_PASSWORD_AUTH および USER_PASSWORD_AUTH ユーザー名とパスワードは、 InitiateAuth. Amazon Cognito 汎用 NotAuthorizedException ユーザー名またはパスワードのいずれかが正しくないことを示すエラー。

SRP(Secure Remote Password)ベースの認証

USER_SRP_AUTH 認証フロー Amazon Cognito は、最初のステップでユーザー名とSRPパラメータ「A」を受け取ります。それに対して、 Amazon Cognito SRP プロトコルに従って、ユーザーの SRP パラメータ「B」と「salt」を返します。ユーザーが見つからない場合、 Amazon Cognito で説明したように、最初のステップでシミュレートされた応答を返します。 RFC 5054(RFC 5054). Amazon Cognito は、同じ「塩」と内部ユーザーIDを ユニバーサルにユニーク IDentifier (UUID) フォーマットを使用して、同じユーザー名とユーザー プールの組み合わせにすることができます。次の操作が RespondToAuthChallenge パスワード実行の証明 Amazon Cognito 汎用 NotAuthorizedException ユーザー名またはパスワードのいずれかが間違っていることを示すエラー。

注記

以下を使用できます。 UsernamePassword 検証ベースのエイリアスを使用しており、不変のユーザー名の形式が UUID でない場合に、汎用応答をシミュレートします。

ForgotPassword

ユーザーが見つからない、無効になっている、またはパスワードを回復するメカニズムがない場合、 Amazon Cognito リターン CodeDeliveryDetails シミュレーションされた送達媒体をユーザーに提供します。シミュレーションされた配信媒体は、ユーザープールの入力ユーザー名形式および検証設定によって決定される。

ConfirmForgotPassword

Amazon Cognito は、 CodeMismatchException 存在しないか、無効になっているユーザーのエラーです。使用時にコードが要求されない場合 ForgotPassword、 Amazon Cognito は、 ExpiredCodeException エラー。

ResendConfirmationCode

Amazon Cognito リターン CodeDeliveryDetails 無効になっているユーザー、または存在しないユーザーの場合。 Amazon Cognito は、確認コードを既存のユーザーの電子メールまたは電話番号に送信します。

ConfirmSignUp

ExpiredCodeException コードが期限切れの場合は、 が返されます。 Amazon Cognito リターン NotAuthorizedException ユーザーに権限が与えられていない場合。コードがサーバーが要求する内容と一致しない場合 Amazon Cognito リターン CodeMismatchException.

SignUp

[ SignUp オペレーションのリターン UsernameExistsException ユーザー名がすでに取得されている場合。SignUp 中の E メールまたは電話番号の UsernameExistsException エラーを防ぐために、検証ベースのエイリアスを使用できます。詳細については、以下を参照してください。 AliasAttributes Amazon Cognito APIリファレンスガイド。エイリアスの詳細については、以下を参照してください。 エイリアスの概要.

インポートされたユーザー

次の場合: PreventUserExistenceErrors は有効になっており、インポートされたユーザーの認証中に、 NotAuthorizedException ユーザー名またはパスワードのいずれかが間違っていることを示すエラーが返されます。 PasswordResetRequiredException. 参照 インポートしたユーザーにパスワードのリセットを要求 を参照してください。

ユーザーを移行 Lambda トリガー

Amazon Cognito は、 Lambda トリガー。詳細については、以下を参照してください。 ユーザーLambdaトリガーを移行.

カスタム認証チャレンジ Lambda トリガー

以下を使用する場合: カスタム認証チャレンジ Lambda トリガー エラー応答を有効にし、 LambdaChallenge という名前のブール値パラメータを返します。 UserNotFound. そして、これは のリクエストで渡されます。 DefineAuthChallengeVerifyAuthChallenge、および CreateAuthChallenge Lambda トリガー。このトリガーを使用して、存在しないユーザーのカスタム承認のチャレンジをシミュレートできます。事前認証 Lambda 存在しないユーザーに対してトリガーされ、 Amazon Cognito リターン UserNotFound.