Amazon Cognito
開発者ガイド

例: Lambda トリガーを使用した JavaScript ユーザー移行

ユーザー移行 Lambda トリガーを使用すると、既存のユーザー管理システムからユーザープールにユーザーを、パスワードのリセットなしで簡単に移行できます。

ユーザー移行 Lambda トリガーを設定する

JavaScript アプリケーションに変更を加える前に、ユーザープール用にユーザー移行 Lambda を設定します。

Lambda トリガーの詳細については、「Lambda トリガーを使用したユーザープールワークフローのカスタマイズ」を参照してください。

Lambda トリガーを使用したユーザー移行の詳細については、「ユーザー移行 Lambda トリガーを使用したユーザープールへのユーザーのインポート」を参照してください。

JavaScript アプリケーションでの変更

AWSCognitoIdentityProvider JavaScript SDK をバージョン 2.0.2 以上に更新します。

ユーザー移行の認証フロー

レガシーのシステムに対してユーザーを認証し、パスワードを検証して、ユーザープールにプロファイルをシームレスに移行できます。ただし、サービスでパスワードのリセットを回避するには、レガシーのパスワードが必要です。

SDK のデフォルトの認証フローでは、インターネット経由でパスワードが実際に送信されないセキュアリモートパスワード (SRP) プロトコルが実装されています。アプリケーションでユーザー移行を有効にするには、USER_PASSWORD_AUTH 認証フローを使用します。このフローでは認証時に、暗号化された SSL 接続経由でパスワードがサービスに送信されます。ユーザー移行後は、デフォルトの SRP 認証フローを使用します。

認証フロータイプを USER_PASSWORD_AUTH に設定します。

cognitoUser.setAuthenticationFlowType('USER_PASSWORD_AUTH'); cognitoUser.authenticateUser(authenticationDetails, { onSuccess: function(result) { // User authentication was successful }, onFailure: function(err) { // User authentication was not successful }, mfaRequired: function (codeDeliveryDetails) { // MFA is required to complete user authentication. // Get the code from user and call cognitoUser.sendMFACode(verificationCode, this); } });