既存のログイン認証基盤からCognitoに移行するために調べてわかったこと
既存のID&パスワード認証のシステムに加え、新たにシステムを作り、SSO(シングルサインオン)を実装するために、Cognitoを使う。
その際に、既存のユーザー情報を移行しないといけないので、調べてみました。
マサカリ待ってます。
前提
AWS CLIは使わず、マネジメントコンソールから操作します。
既存の認証基盤仕様
ログインするためにユーザーが入力するもの
- ユーザーID(またはメールアドレス)
- パスワード
移行について
[懸念点]ユーザーにパスワードの変更をしてもらう必要がある
[モバイルアーキテクチャ ] Cognitoにどこまで任せるべきか?研究してみた - Qiita
既存のメール認証システムから移行する場合、name, email, phone numberなどはcsvでimportできるが、passwordだけはimportできないので、ユーザーにpasswordの再設定を依頼する必要がある。そのため、移行コストは高い
CSVでユーザーをインポートする
既存のユーザー情報を定められた形式のCSVファイルからインポートできる。
既存システムから、CSVを作る仕組みは別途用意しなければなりません。
ユーザーインポート .csv ファイルの作成 - Amazon Cognito
フォーマットはユーザープールで設定した属性に依るので、「CSVヘッダーのダウンロード」からヘッダーファイルをダウンロードします。
name,given_name,family_name,middle_name,nickname,preferred_username,profile,picture,website,email,email_verified,gender,birthdate,zoneinfo,locale,phone_number,phone_number_verified,address,updated_at,cognito:mfa_enabled,cognito:username
インポートするには上記ヘッダーに合わせて必要な情報を作っていく必要がある
name,given_name,family_name,middle_name,nickname,preferred_username,profile,picture,website,email,email_verified,gender,birthdate,zoneinfo,locale,phone_number,phone_number_verified,address,updated_at,cognito:mfa_enabled,cognito:username
tanaka,,,,,,,,,[email protected],TRUE,,,,,,FALSE,,,FALSE,tanaka
suzuki,,,,,,,,,[email protected],TRUE,,,,,,FALSE,,,FALSE,suzuki
yamamoto,,,,,,,,,[email protected],TRUE,,,,,,FALSE,,,FALSE,yamamoto
このCSVファイルを、「インポートジョブの作成」から選択してジョブを作成します。
(試行錯誤の跡がありますが)、ステータスがCreated
の状態で、開始
を押します。
成功するとSuccessed
の状態になります。
Too many users have failed or been skipped during the import.
というエラーは、CSVの内容を見直してください。具体的なエラー内容は、CloudWatchLogsに吐き出されています。
あとはアプリクライアントからパスワードのリセットを促すように対応すれば移行できるかと思います。
Author And Source
この問題について(既存のログイン認証基盤からCognitoに移行するために調べてわかったこと), 我々は、より多くの情報をここで見つけました https://qiita.com/SuyamaDaichi/items/70a152b0ad8d7f669d0a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .