翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
認証チャレンジの作成の Lambda トリガー
認証チャレンジ作成トリガーは、認証チャレンジ定義トリガーによって宣言された各チャレンジの詳細を持つ Lambda 関数です。これは、認証チャレンジ定義トリガーによって宣言されたチャレンジ名を処理し、アプリケーションpublicChallengeParameters
がユーザーに提示する必要がある を返します。次に、この関数は、ユーザープールが認証チャレンジ検証トリガーに渡すチャレンジ privateChallengeParameters
に対する回答をユーザープールに提供します。認証チャレンジ定義トリガーがチャレンジシーケンスを管理する場合、認証チャレンジ作成トリガーはチャレンジの内容を管理します。
- 認証チャレンジの作成
-
認証チャレンジの定義トリガーの一部としてカスタムチャレンジが指定されている場合、Amazon Cognito は認証チャレンジの定義後にこのトリガーを呼び出します。これにより、カスタム認証フローを作成します。
この Lambda トリガーは、ユーザーに提示するチャレンジを作成するために呼び出されます。この Lambda トリガーのリクエストには challengeName
と session
が含まれます。challengeName
は文字列であり、ユーザーに対する次のチャレンジの名前です。この属性の値は、認証チャレンジの定義の Lambda トリガーに設定されています。
チャレンジループは、すべてのチャレンジに応答するまで繰り返されます。
認証チャレンジの作成 Lambda トリガーパラメータ
Amazon Cognito がこの Lambda 関数に渡すリクエストは、以下のパラメータと Amazon Cognito がすべてのリクエストに追加する共通パラメータを組み合わせたものです。
認証チャレンジの作成のリクエストパラメータ
- userAttributes
-
ユーザー属性を表す 1 つ以上の名前 - 値ペア。
- userNotFound
-
このブール値は、ユーザープールクライアントで
PreventUserExistenceErrors
がENABLED
に設定されている場合に設定されます。 - challengeName
-
新しいチャレンジの名前。
- session
-
session 要素は
ChallengeResult
要素の配列であり、それぞれに以下の要素が含まれます。- challengeName
-
チャレンジタイプ。
"CUSTOM_CHALLENGE"
、"PASSWORD_VERIFIER"
、"SMS_MFA"
、"DEVICE_SRP_AUTH"
、"DEVICE_PASSWORD_VERIFIER"
、"ADMIN_NO_SRP_AUTH"
のいずれかです。 - challengeResult
-
ユーザーが正常にチャレンジを完了した場合は
true
に、それ以外の場合はfalse
に設定します。 - challengeMetadata
-
カスタムチャレンジの名前を入力します。
challengeName
が"CUSTOM_CHALLENGE"
である場合にのみ使用されます。
- clientMetadata
-
認証チャレンジの作成のトリガーに指定する Lambda 関数へのカスタム入力として提供できる 1 つ、または複数のキー/値ペア。AdminRespondToAuthChallenge および RespondToAuthChallengeAPIアクションの ClientMetadata パラメータを使用して、このデータを Lambda 関数に渡すことができます。create auth challenge 関数を呼び出すリクエストには、 AdminInitiateAuth および InitiateAuthAPIオペレーションの ClientMetadata パラメータに渡されたデータは含まれません。
認証チャレンジの作成のレスポンスパラメータ
- publicChallengeParameters
-
クライアントアプリケーションでユーザーに提示されるチャレンジに使用する 1 つ以上のキー - 値ペア。このパラメータには、ユーザーにチャレンジを正確に提示するために必要なすべての情報を含める必要があります。
- privateChallengeParameters
-
このパラメータは、認証チャレンジレスポンスの検証の Lambda トリガー以外では使用されません。このパラメータには、チャレンジに対するユーザーのレスポンスを検証するために必要な情報のすべてを含める必要があります。つまり、
publicChallengeParameters
には、ユーザーに示される質問が含まれ、privateChallengeParameters
には、質問に対する有効な回答が含まれます。 - challengeMetadata
-
カスタムチャレンジの名前 (カスタムチャレンジの場合)。
認証チャレンジの作成の例
CAPTCHA は、ユーザーへのチャレンジとして作成されます。CAPTCHA イメージURLの はcaptchaUrl
「」としてパブリックチャレンジパラメータに追加され、予想される回答はプライベートチャレンジパラメータに追加されます。