翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
認証前の Lambda トリガー
Amazon Cognito は、ユーザーがサインインしようとするときにこのトリガーを呼び出し、準備アクションを実行するカスタム認証を作成できるようにします。たとえば、認証リクエストを拒否したり、外部システムへのセッションデータを記録したりできます。
注記
この Lambda トリガーは、ユーザープールアプリクライアントPreventUserExistenceErrors
の設定が に設定されていない限り、ユーザーが存在しない場合はアクティブ化されませんENABLED
。既存の認証セッションを更新しても、このトリガーはアクティブ化されません。
フローの概要

リクエストには、アプリケーションからユーザープールの InitiateAuth
および AdminInitiateAuth
API オペレーションに渡す ClientMetadata
値のクライアント検証データが含まれます。
詳細については、「認証セッションの例」を参照してください。
認証前の Lambda トリガーのパラメータ
Amazon Cognito がこの Lambda 関数に渡すリクエストは、以下のパラメータと Amazon Cognito がすべてのリクエストに追加する共通パラメータを組み合わせたものです。
認証前のリクエストパラメータ
- userAttributes
-
ユーザー属性を表す 1 つ以上の名前 - 値ペア。
- userNotFound
-
ユーザープールクライアントの
PreventUserExistenceErrors
をENABLED
に設定すると、Amazon Cognito はこのブール値を入力します。 - validationData
-
ユーザーのサインインリクエストに検証データを含む 1 つ以上のキーバリューペア。このデータを Lambda 関数に渡すには、InitiateAuth および AdminInitiateAuth API アクションで ClientMetadata パラメータを使用します。
認証前のレスポンスパラメータ
Amazon Cognito は、関数がレスポンスで返す追加情報を処理しません。関数がエラーを返してサインイン試行を拒否したり、API オペレーションを使用してリソースをクエリしたり変更できます。
事前認証の例
このサンプル関数は、特定のアプリクライアントからユーザープールにサインインされるのを防ぎます。事前認証の Lambda 関数は、ユーザーが既存のセッションを持っている場合は呼び出されないため、この関数はブロックするアプリクライアント ID の新規セッションのみを防止します。
Amazon Cognito は Lambda 関数にイベント情報を渡します。関数はレスポンスで、同じイベントオブジェクトを変更と共に Amazon Cognito に返します。Lambda コンソールで、Lambda トリガーに関連するデータを使用したテストイベントをセットアップできます。以下は、このコードサンプルのテストイベントです。