Auth0のExtensionアプリでユーザーを一括インポート・エクスポートを試してみた

Auth0 User Import/Export Extensionを使ってみた

最初

Auth0でユーザー管理する際、Management APIを使う以外、Auth0 User Import/Export extensionを使って、簡単にユーザーのインポートとエクスポートをすることができます。Auth0 User Import/Export extensionを試してみた手順をブログにしてみたいと思います。

手順

Extensionをテナントに追加

テナントのダッシュボードで、左側のExtensionに入って、All ExtensionsUser Import/Export Applicationをインストールします。

 

User Export

全てのデータベースのAll connectionsか、エクスポートしたいデータベースを選んでEXPORT x USERSでユーザーエクスポートを行います。
 


ダウンロードしたJSONファイルはこういう感じです。
 

User Import

ユーザーをインポートしたい時、さっきAuth0でエクスポートのフォマットのままでは[],がない、と一部情報が必要ないためエラーがでます。
 

[
    {"user_id":"123456789123456789","email":"testaccount1@test.jp","name":"test1","nickname":"test1nickname"},
    {"user_id":"123456789123456780","email":"testaccount2@test.jp","name":"test2","nickname":"test2nickname"}
]

上記のJSONテキストのように、Extensionでユーザーインポートをできます。
このようなフォマットでユーザー情報を記入し、.jsonファイルとして保存します。
 

Extensionのimportページに入って、作った.jsonファイルをドロップし、インポート先のデータベースを選んで、START IMPORTING USERSを押します。
少し待ってからCompletedの状態になって、ユーザーインポートが完成となります。(エラーなどが出たら、Historyページで詳細を確認できます。pendingの場合は、Historyページでサークル矢印ボタンで再実行ができます)
 


インポートした二つユーザーはUser Managment -> Usersで確認できてます。

 

{
    "email": "testaccount1@test.jp",
    "email_verified": false,
    "name": "test1",
    "nickname": "test1nickname",
    "user_metadata": {},
    "created_at": "2022-08-30T14:22:18.272Z",
    "updated_at": "2022-08-30T14:22:18.272Z",
    "identities": [
        {
            "provider": "auth0",
            "connection": "some-db",
            "isSocial": false,
            "user_id": "123456789123456789"
        }
    ],
    "user_id": "auth0|123456789123456789",
    "picture": "https://secure.gravatar.com/avatar/ce590c495747d8c594bc3b5cbac1bb0c?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fte.png",
    "blocked_for": [],
    "guardian_authenticators": []
}

インポートされたユーザーのRAWデータはこういう感じです。

最後

Auth0 Import/Export ExtensionはManagement APIをラップして作られたアプリらしいですので、裏側やってることはManagement APIと一緒だと思います。Management APIの方が自由度が高いですか、普通のUser Import/ExportはこのExtensionで十分ではないでしょうかと思います。
 

以上です。