認証後の Lambda トリガー
認証後トリガーは、ユーザーの認証フローを変更しません。Amazon Cognito は、認証が完了した後で、ユーザーがトークンを受け取る前に、この Lambda を呼び出します。次のサインインに反映されるログ記録やユーザープロファイルの調整など、認証イベントの後処理をカスタムで追加する場合は、認証後トリガーを追加します。
リクエスト本文を Amazon Cognito に返さない認証後 Lambda は、認証の完了に失敗する可能性があります。詳細については、「重要な考慮事項」を参照してください。
認証フローの概要
詳細については、「ユーザープール認証フロー」を参照してください。
認証後の Lambda トリガーのパラメータ
Amazon Cognito がこの Lambda 関数に渡すリクエストは、以下のパラメータと Amazon Cognito がすべてのリクエストに追加する共通パラメータを組み合わせたものです。
認証後のリクエストパラメータ
- newDeviceUsed
-
このフラグは、ユーザーが新しいデバイスにサインインしているかどうかを示します。Amazon Cognito は、ユーザープールの記憶済みデバイス値が
Always
またはUser Opt-In
である場合にのみ、このフラグを設定します。 - userAttributes
-
ユーザー属性を表す 1 つ以上の名前 - 値ペア。
- clientMetadata
-
認証後のトリガーに指定する Lambda 関数へのカスタム入力として提供できる 1 つ、または複数のキー/値ペア。このデータを Lambda 関数に渡すには、AdminRespondToAuthChallenge および RespondToAuthChallenge API アクションで ClientMetadata パラメータを使用します。Amazon Cognito は、認証後関数に渡すリクエストの AdminInitiateAuth および InitiateAuth API オペレーションの ClientMetadata パラメータからのデータを含めません。
認証後のレスポンスパラメータ
Amazon Cognito は、レスポンスに追加の返品情報を期待しません。関数では、API オペレーションを使用してリソースをクエリして変更したり、イベントメタデータを外部システムに記録することができます。
認証チュートリアル
Amazon Cognito がユーザーにサインインした直後、認証後の Lambda 関数をアクティブ化します。JavaScript、Android、iOS に関する以下のサインインチュートリアルを参照してください。
プラットフォーム | チュートリアル |
---|---|
JavaScript ID SDK | JavaScript でのユーザーのサインイン |
Android ID SDK | Android でのユーザーのサインイン |
iOS ID SDK | iOS でのユーザーのサインイン |
認証後の例
この認証後の Lambda 関数のサンプルは、正常に行われたサインインからのデータをCloudWatch Logs に送信します。
Amazon Cognito は Lambda 関数にイベント情報を渡します。関数はレスポンスで、同じイベントオブジェクトを変更と共に Amazon Cognito に返します。Lambda コンソールで、Lambda トリガーに関連するデータを使用したテストイベントをセットアップできます。以下は、このコードサンプルのテストイベントです。