翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
認証チャレンジレスポンスの検証の Lambda トリガー
認証検証チャレンジトリガーは、ユーザーが提供したレスポンスを既知のレスポンスと比較する Lambda 関数です。この関数は、ユーザーがチャレンジに正しく応答したかどうかをユーザープールに伝えます。認証チャレンジの検証トリガーが answerCorrect
の で応答するとtrue
、認証シーケンスは続行できます。
- 認証チャレンジレスポンスの検証
-
Amazon Cognito は、このトリガーが呼び出して、カスタム認証チャレンジに対するユーザーからのレスポンスが有効であるかどうかを検証します。これはユーザープールのカスタム認証フローの一環です。
このトリガーのリクエストには privateChallengeParameters
および challengeAnswer
パラメータが含まれます。privateChallengeParameters
値は、認証チャレンジの作成の Lambda トリガーによって返され、ユーザーからの期待されるレスポンスが含まれます。challengeAnswer
パラメータには、チャレンジに対するユーザーのレスポンスが含まれます。
レスポンスには、answerCorrect
属性が含まれます。ユーザーがチャレンジを正常に完了すると、Amazon Cognito は属性値を true
に設定します。ユーザーがチャレンジを正常に完了しなかった場合、Amazon Cognito は値を false
に設定します。
チャレンジループは、すべてのチャレンジが回答されるまで繰り返します。
認証チャレンジの検証の Lambda トリガーのパラメータ
Amazon Cognito がこの Lambda 関数に渡すリクエストは、以下のパラメータと Amazon Cognito がすべてのリクエストに追加する共通パラメータを組み合わせたものです。
認証チャレンジの検証のリクエストパラメータ
- userAttributes
-
このパラメータには、ユーザー属性を表す 1 つ以上の名前-値ペアが含まれます。
- userNotFound
-
Amazon Cognito がユーザープールクライアントの
PreventUserExistenceErrors
をENABLED
に設定すると、Amazon Cognito はこのブール値を入力します。 - privateChallengeParameters
-
このパラメータは、認証チャレンジの作成トリガーから取得されます。ユーザーがチャレンジに合格したかどうかを判断するために、Amazon Cognito はパラメータをユーザーの と比較しますchallengeAnswer。
このパラメータには、チャレンジに対するユーザーのレスポンスを検証するために必要な情報のすべてが含まれます。その情報には、Amazon Cognito がユーザーに提示する質問 (
publicChallengeParameters
) と、その質問に対する有効な回答 (privateChallengeParameters
) が含まれます。認証チャレンジレスポンスの検証の Lambda トリガーのみがこのパラメータを使用します。 - challengeAnswer
-
このパラメータ値は、チャレンジに対するユーザーの回答です。
- clientMetadata
-
このパラメータには、認証チャレンジの検証のトリガーの Lambda 関数へのカスタム入力として提供できる 1 つまたは複数のキーバリューペアが含まれています。このデータを Lambda 関数に渡すには、 AdminRespondToAuthChallenge および RespondToAuthChallengeAPIオペレーションで ClientMetadata パラメータを使用します。Amazon Cognito は、認証チャレンジの検証関数に渡されるリクエストの AdminInitiateAuth および InitiateAuthAPIオペレーションの ClientMetadata パラメータからのデータを含めません。
認証チャレンジの検証のレスポンスパラメータ
- answerCorrect
-
ユーザーがチャレンジを正常に完了した場合、Amazon Cognito はこのパラメータを
true
に設定します。ユーザーがチャレンジを正常に完了しなかった場合、Amazon Cognito はパラメータをfalse
に設定します。
認証チャレンジレスポンスの確認の例
この例では、チャレンジに対するユーザーのレスポンスが期待されるレスポンスに一致するかどうかを Lambda 関数がチェックします。ユーザーのレスポンスが期待されるレスポンスと一致した場合、Amazon Cognito は answerCorrect
パラメータを true
に設定します。