「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」
ユーザー移行 Lambda トリガー
Amazon Cognito は、ユーザーがパスワードによるサインイン時にユーザープールに存在しない場合、またはパスワードを忘れた場合のフローに入った場合に、このトリガーを呼び出します。Lambda 関数が正常に値を返した後、Amazon Cognito はユーザーをユーザープールに作成します。ユーザー移行の Lambda トリガーを使用した認証フローの詳細については、「ユーザー移行 Lambda トリガーを使用したユーザープールへのユーザーのインポート」を参照してください。
サインイン時に、またはこの Lambda トリガーによるパスワードを忘れた場合のフローの実行時に、この既存のユーザーディレクトリから Amazon Cognito ユーザープール にユーザーを移行できます。
ユーザー移行 Lambda トリガーのソース
triggerSource 値 | トリガーイベント |
---|---|
UserMigration_Authentication |
サインイン時のユーザー移行 |
UserMigration_ForgotPassword |
パスワードを忘れた場合のフロー実行時のユーザー移行 |
ユーザー移行 Lambda トリガーパラメータ
これらは、共通パラメータに加えてこの Lambda 関数に必要なパラメータです。
ユーザー移行リクエストパラメータ
- ユーザー名
-
ユーザーが入力したユーザー名。
- パスワード
-
サインイン用にユーザーが入力したパスワード。パスワードを忘れた場合のフローでは設定されません。
- validationData
-
ユーザーサインインリクエストに検証データを含む 1 つ以上のキー - 値ペア。InitiateAuth および AdminInitiateAuth API アクションの ClientMetadata パラメータを使用して、このデータを Lambda 関数に渡すことができます。
- clientMetadata
-
ユーザー移行トリガーに指定する Lambda 関数へのカスタム入力として指定できる 1 つ以上のキーと値のペア。AdminRespondToAuthChallenge および ForgotPassword API アクションの ClientMetadata パラメータを使用して、このデータを Lambda 関数に渡すことができます。
ユーザー移行レスポンスパラメータ
- userAttributes
-
このフィールドは必須です。
ユーザープール内のユーザープロファイルに保存されるユーザー属性を表す、名前と値のペアが 1 つ以上含まれている必要があります。標準およびカスタムの両方のユーザー属性を含めることができます。カスタム属性は、標準属性と区別するために、
custom:
プレフィックスを必要とします。詳細については、「カスタム属性」を参照してください。注記 パスワードを忘れた場合のフローでユーザーがパスワードをリセットするには、検証済みの E メールまたは検証済みの電話番号のどちらかが必要です。Amazon Cognito によってユーザー属性の E メールまたは電話番号のリセットパスワードコードを含むメッセージが送信されます。
属性 要件 ユーザープールの作成時に必須とマークした属性 移行時に必須属性が見当たらない場合は、デフォルト値が使用されます。 username
サインイン用のユーザー名に加えて E メールや preferred_username のエイリアスを使用してユーザープールを設定しており、ユーザーがサインイン用に E メールまたは電話番号を入力している場合は、必須です。
それ以外の場合は、オプションであり、ユーザーが入力するユーザー名の代わりに使用されます。
注記 ユーザー名はユーザープール内で一意であることが必要です。
- finalUserStatus
-
サインイン時に、この属性を
CONFIRMED
に設定できます。設定しない場合、ユーザーは自動確認され、前回のパスワードでサインインできます。この場合、ユーザーのエクスペリエンスは最もシンプルになります。この属性を RESET_REQUIRED に設定した場合、ユーザーは移行直後のサインイン時に自分のパスワードを変更する必要があり、クライアントアプリケーションは認証フローの実行時に
PasswordResetRequiredException
を処理する必要があります。注記 新しいユーザープールのパスワードポリシーは既存のユーザーディレクトリのパスワードポリシーよりも厳しくしないでください。
- messageAction
-
この属性を "SUPPRESS" に設定すると、Amazon Cognito によって新しいユーザーに通常は送信されるウェルカムメッセージを抑制できます。この属性が返されない場合は、ウェルカムメッセージが送信されます。
- desiredDeliveryMediums
-
この属性は、ウェルカムメッセージを E メールで送信する場合は "EMAIL" に、SMS で送信する場合は "SMS" に設定できます。この属性が返されない場合は、ウェルカムメッセージが SMS で送信されます。
- forceAliasCreation
-
このパラメータを "true" に設定した場合、UserAttributes パラメータで指定した E メールアドレスまたは電話番号がすでに別のユーザーのエイリアスとして存在していると、API の呼び出しで以前のユーザーのエイリアスが新しく作成されたユーザーに移行されます。以前のユーザーはそのエイリアスを使用してログインできなくなります。
この属性を "false" に設定した場合、エイリアスが存在していても、ユーザーは移行されず、エラーがクライアントアプリケーションに返されます。
この属性が返されない場合は、"false" とみなされます。
例: 既存のパスワードを使用したユーザーの移行
この例の Lambda 関数は、既存のパスワードを使用してユーザーを移行し、Amazon Cognito からのウェルカムメッセージを抑制します。