カスタム認証チャレンジの Lambda トリガー - Amazon Cognito

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

カスタム認証チャレンジの Lambda トリガー

Amazon Cognito ユーザープールの認証フローを構築すると、組み込みフローを超えて認証モデルを拡張したい場合があります。カスタムチャレンジトリガーの一般的なユースケースの 1 つは、ユーザー名、パスワード、および多要素認証 () を超えて追加のセキュリティチェックを実装することですMFA。カスタムチャレンジは、Lambda がサポートするプログラミング言語で生成できる質問とレスポンスです。例えば、認証を許可する前に、ユーザーに を解決CAPTCHAするか、セキュリティの質問に答えるように要求できます。もう 1 つの潜在的なニーズは、特殊な認証要素またはデバイスと統合することです。または、ハードウェアセキュリティキーまたは生体認証デバイスでユーザーを認証するソフトウェアを既に開発している場合もあります。カスタムチャレンジの認証成功の定義は、Lambda 関数が正しいものとして受け入れる回答です。例えば、固定文字列、または外部 からの十分な応答ですAPI。

カスタムチャレンジで認証を開始し、認証プロセスを完全に制御することも、アプリケーションがカスタムチャレンジを受信する前にユーザー名パスワード認証を実行することもできます。

カスタム認証チャレンジ Lambda トリガー:

定義

チャレンジシーケンスを開始します。新しいチャレンジを開始するか、認証を完了としてマークするか、認証の試行を停止するかを決定します。

作成

ユーザーが回答する必要がある質問をアプリケーションに発行します。この関数は、アプリケーションCAPTCHAがユーザーに表示するセキュリティの質問や へのリンクを提示する場合があります。

検証する

予想される回答を理解し、それをチャレンジレスポンスでアプリケーションが提供する回答と比較します。関数はAPI、CAPTCHAサービスの を呼び出して、ユーザーの試行されたソリューションの期待される結果を取得する場合があります。

これらの 3 つの Lambda 関数は連鎖して、完全に制御範囲内で独自の設計の認証メカニズムを提示します。カスタム認証にはクライアントと Lambda 関数でアプリケーションロジックが必要なため、ホストされた UI 内でカスタム認証を処理することはできません。この認証システムには、追加の開発者の労力が必要です。アプリケーションは、ユーザープールで認証フローを実行しAPI、カスタム認証チャレンジの中心に質問をレンダリングするカスタム UI を使用して、結果として生じるチャレンジを処理する必要があります。

チャレンジの Lambda トリガー

カスタム認証の実装の詳細については、「」を参照してください。 カスタム認証フローとチャレンジ

API オペレーションInitiateAuthまたは AdminInitiateAuth、および RespondToAuthChallenge または 間の認証AdminRespondToAuthChallenge。このフローでは、認証が失敗するか、トークンが発行されるまで、ユーザーは引き続きチャレンジに回答して認証を行います。チャレンジレスポンスは新しいチャレンジかもしれません。この場合、アプリケーションは新しい課題に対して必要な回数だけ応答します。認証は、認証チャレンジ定義関数がこれまでの結果を分析し、すべてのチャレンジが解決されたと判断し、 を返すときに行われますIssueTokens