sql >> データベース >  >> NoSQL >> MongoDB

ユーザーをmongodbデータベースからawscognitoユーザープールに移行できますか?

    これを実現するにはいくつかの方法があります

    1. prepare .CSVファイルを使用して、awscognitoユーザープールにインポートします。インポートプロセスは、パスワードを除くすべてのユーザー属性を設定します。 cognitoでのユーザーのステータスはRESET_REQUIREDになります。 Cognitoはパスワードを強制的にリセットします。

    2. それ以外の場合は、次の手順でmongodbからcognitoにすべてのユーザーを追加する1つのスクリプトを作成できます。

    使用: AdminCreateUser

    1. AWSマネジメントコンソールを使用するか、AdminCreateUser APIを呼び出して、新しいユーザープロファイルを作成します。一時パスワード(mongodbではユーザーのパスワードになります)を指定するか、AmazonCognitoが自動的にパスワードを生成できるようにします。

    2. 提供された電子メールアドレスと電話番号を新規ユーザーに対して確認済みとしてマークするかどうかを指定します。AWSマネジメントコンソールを介して、新規ユーザー用のカスタムSMSと電子メール招待メッセージを指定します。

    3. 招待メッセージをSMS、電子メール、またはその両方で送信するかどうかを指定します。

    4. ユーザーの作成に成功したら、

      1. 同じユーザー資格情報を使用してユーザーを認証する使用:SDKはInitiateAuth(Username、USER_SRP_AUTH)

        を呼び出します
      2. initateAuthが成功すると、amazon CognitoはSalt&Secretブロックを使用してPASSWORD_VERIFIERチャレンジを返します。

      3. RespondToAuthChallenge(Username、、PASSWORD_VERIFIER

        を使用します
      4. Amazon Cognitoは、現在の属性と必要な属性とともにNEW_PASSWORD_REQUIREDチャレンジを返します。

      5. ユーザーはプロンプトが表示され、新しいパスワードと必要な属性の不足している値を入力します。

      6. RespondToAuthChallenge(ユーザー名、、)を呼び出します。

      7. パスワードの変更が成功すると、ユーザーはmongodbに追加されたものと同じクレデンシャルを使用してログインできるようになります。

    :しかし、問題があります。mongodbからユーザーの資格情報を復号化できない場合、2番目のソリューションは機能しません。

    -  In that case, you can specify the temporary password
    (will  allow Amazon Cognito to automatically generate one.).
    
    - all user users will be forced to change their password only at first login.
    

    参照

    CSVを記述してコグニートにインポートする方法を知りたい場合は、このリンクを確認してください。 https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-using-import-tool-csv- header.html



    1. mongodbreplicasetの新しいメンバーがEC2で正しいディスク使用量を表示しない

    2. MongoDBの上限付きコレクションで削除されたドキュメントを追跡する

    3. MongoDB $ trim

    4. Mongodbクエリの1つのフィールドに基づいて最大連続レコードの数を検索します