Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

認証前の Lambda トリガー

フォーカスモード
認証前の Lambda トリガー - Amazon Cognito

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

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

Amazon Cognito は、ユーザーがサインインしようとするときにこのトリガーを呼び出し、準備アクションを実行するカスタム認証を作成できるようにします。たとえば、認証リクエストを拒否したり、外部システムへのセッションデータを記録したりできます。

注記

ユーザーが存在しない場合や、ユーザープールに既にセッションがある場合、この Lambda トリガーはアクティブになりません。ユーザープールアプリクライアントの PreventUserExistenceErrors 設定が ENABLED になっている場合、Lambda トリガーはアクティブになります。

認証フローの概要

認証前の Lambda トリガー - クライアントフロー

リクエストには、アプリケーションからユーザープールの InitiateAuth および AdminInitiateAuth API オペレーションに渡す ClientMetadata 値のクライアント検証データが含まれます。

詳細については、「認証セッションの例」を参照してください。

認証前の Lambda トリガーのパラメータ

Amazon Cognito がこの Lambda 関数に渡すリクエストは、以下のパラメータと Amazon Cognito がすべてのリクエストに追加する共通パラメータを組み合わせたものです。

JSON
{ "request": { "userAttributes": { "string": "string", . . . }, "validationData": { "string": "string", . . . }, "userNotFound": boolean }, "response": {} }
{ "request": { "userAttributes": { "string": "string", . . . }, "validationData": { "string": "string", . . . }, "userNotFound": boolean }, "response": {} }

認証前のリクエストパラメータ

userAttributes

ユーザー属性を表す 1 つ以上の名前 - 値ペア。

userNotFound

ユーザープールクライアントの PreventUserExistenceErrorsENABLED に設定すると、Amazon Cognito はこのブール値を入力します。

validationData

ユーザーのサインインリクエストに検証データを含む 1 つ以上のキーバリューペア。このデータを Lambda 関数に渡すには、InitiateAuth および AdminInitiateAuth API アクションで ClientMetadata パラメータを使用します。

認証前のレスポンスパラメータ

Amazon Cognito は、レスポンスに追加の戻り情報を期待していません。関数がエラーを返してサインイン試行を拒否したり、API オペレーションを使用してリソースをクエリしたり変更できます。

事前認証の例

このサンプル関数は、特定のアプリクライアントからユーザープールにサインインされるのを防ぎます。事前認証の Lambda 関数は、ユーザーが既存のセッションを持っている場合は呼び出されないため、この関数はブロックするアプリクライアント ID の新規セッションのみを防止します。

Node.js
const handler = async (event) => { if ( event.callerContext.clientId === "user-pool-app-client-id-to-be-blocked" ) { throw new Error("Cannot authenticate users from this user pool app client"); } return event; }; export { handler };
Python
def lambda_handler(event, context): if event['callerContext']['clientId'] == "<user pool app client id to be blocked>": raise Exception("Cannot authenticate users from this user pool app client") # Return to Amazon Cognito return event
const handler = async (event) => { if ( event.callerContext.clientId === "user-pool-app-client-id-to-be-blocked" ) { throw new Error("Cannot authenticate users from this user pool app client"); } return event; }; export { handler };

Amazon Cognito は Lambda 関数にイベント情報を渡します。関数はレスポンスで、同じイベントオブジェクトを変更と共に Amazon Cognito に返します。Lambda コンソールで、Lambda トリガーに関連するデータを使用したテストイベントをセットアップできます。以下は、このコードサンプルのテストイベントです。

JSON
{ "callerContext": { "clientId": "<user pool app client id to be blocked>" }, "response": {} }
{ "callerContext": { "clientId": "<user pool app client id to be blocked>" }, "response": {} }
プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.