メインコンテンツへスキップ
[User Import / Export Extension(ユーザーインポート/エクスポート拡張機能)] を使用すると、次のことが可能になります:
  • 既存のデータベースユーザーをAuth0に一括インポートする
  • Auth0データベースユーザーの何人か(または全員)を検索またはエクスポートする
インポートおよびエクスポートできるユーザープロファイルフィールドの一覧については、ユーザープロファイル属性を参照してください。 この拡張機能を使用するには、Dashboard Adminでなければなりません。

拡張機能をインストールする

この拡張機能をインストールするには、Auth0 Dashboard>Extensionsに移動し、[User Import / Export(ユーザーのインポート/エクスポート)] を選択します。 拡張機能をインストールする前に追加の構成は必要ないため、情報ポップアップウィンドウで [Install(インストール)] を選択して続行します。

拡張機能を使用する

拡張機能をインストールすると、インストール済み拡張機能のリストに表示されます。[Import / Export Extension(インポート/エクスポート拡張機能)] をクリックして起動します。 初めて拡張機能を起動すると、リストにあるアクティビティについて、拡張機能がAuth0アカウントにアクセスすることを許可するかが尋ねられます。
Dashboard Extensions Authorize the Users Import/Export Extension
[check mark(チェックマーク)] をクリックして続行します。 拡張機能では以下の2つを行うことができます。
  • 既存のデータベースユーザーをAuth0に一括インポートする
  • Auth0データベースユーザーの何人か(または全員)を検索またはエクスポートする
これらのユースケースについては以下で詳しく説明します。

ユーザーをインポートする

デフォルトでは、拡張機能を開くたびに、[User Import(ユーザーインポート)] 画面が表示されます(エクスポート画面の場合は、左側のナビゲーションバーの [Import(インポート)] をクリックしてこの画面に戻ることができます)。 ユーザーをインポートするには、有効なJSONファイル(スキーマと例はこちら)を [Drop your file here, or click to select(ここにファイルをドロップまたはクリックして選択)] のエリアにドラッグアンドドロップします。または、この領域の任意の場所をクリックし、適切なJSONファイルを探して選択することもできます。JSONファイルには、インポートしたいユーザーのリストが含まれている必要があります。
Auth0テナントからエクスポートしたファイルを使用する場合は、ndjsonからJSONに変換する必要があります。同じユーザーIDを維持するために、インポートするユーザーIDからauth0| prefixを削除しなければなりません。インポート処理では、ユーザーIDに自動的にauth0| prefixが追加されます。インポートする前にauth0| prefixを削除しなかった場合、ユーザーIDは、auth0|auth0|...として返されます。
ユーザーのインポート先になるデータベース接続を選択します。選択する接続が、少なくとも1つのアプリケーションで有効になっていることを確認してください。 インポートプロセスを開始するには、[Start Importing Users(ユーザーのインポートを開始)] をクリックします。 完了すると、次の [Completed(完了)] メッセージが表示されます。
Dashboard Extensions Users Import Export Import Complete
ユーザーをインポートしたら、Auth0 Dashboard>User Management>Usersを使用して個別に管理できます。

ユーザーをエクスポートする

エクスポートファイルのサイズが大きいため、Auth0はndjson形式を使用します。ユーザーをインポートする前に、ndjsonjson に変換する必要があります。その際には、jqなど、ご希望のライブラリーを使用できます。後でインポートするためにユーザーをエクスポートする場合は、ユーザーフィールドの名前をデフォルトのままにしておきます。[Column Name(カラム名)]にマッピングしてはいけません。
データベース接続に関連付けられている既存のAuth0ユーザーをエクスポートするには、[Export(エクスポート)] を選択します。
Dashboard Extensions Users Import Export Export Users page
[User Fields(ユーザー フィールド)] では、エクスポートに含めるユーザー属性または式を決定できます。ユーザー属性は、user.user_metadata.nameのような静的な値にすることも、user.user_metadata.name || user.name のようなJavaScript式にすることもできます。式はエクスポートの実行時に評価されます。column name の値は、エクスポートで値がどのように表現されるかを示します。 [Add Default Fields(デフォルトフィールドの追加)] ボタンをクリックすると、デフォルトフィールドが自動的に選択され、列名が入力されます(これは、パラメーター/式がどのように表示されるかを視覚化するのにも適した方法です)。 関連する [trash can(ゴミ箱)] アイコンをクリックすると、不要な属性/式を削除できます。 [Settings(設定)] では次のことができます:
  • ユーザーを並べ替える [User Attribute(ユーザー属性)](およびユーザーを昇順または降順で並べ替えるかどうか)を指定して、エクスポートされたユーザーのリスト方法を設定します。
  • [Export Format(エクスポート形式)] を選択します。JSONファイルとCSVファイルから選択できます。
    Dashboard 拡張機能 ユーザーのインポートエクスポート 設定 エクスポート形式
準備ができたら、[Export X Users(Xユーザーのエクスポート)] をクリックします(Xはエクスポートするユーザーの数です)。 エクスポートが完了したら、ユーザーのファイルをダウンロードすることができます。

ユーザーの更新

Auth0 では、ユーザーインポート/エクスポート拡張機能を使用して、user_metadataおよび app_metadataへのユーザープロファイルの一括更新が可能です。
Auth0は、現在、パスワードレスの一括インポートをサポートしていません。Auth0 Management APIを使って、ユーザーを個別に更新してください。

ユーザーをエクスポートする

上記のエクスポートプロセスを使用して、すべてのユーザー属性を含む完全なエクスポートファイルを作成します。 エクスポート形式にJSON形式を選択します。 エクスポートが完了したら、ユーザーのファイルをダウンロードします。

構成を更新する

前の手順でダウンロードしたJSONファイルの [copy(コピー)] を作成します。
この処理を行うと、データが失われる可能性があります。データが破損したときのために、ユーザーデータベースのバックアップを作成してください。
複製したJSONファイルをテキストエディターで開きます。以下のようなユーザースキーマになっているはずです。
[
   {
      "Id":"auth0|626737a9813c000069daf462",
      "Nickname":"testuser1",
      "Name":"testuser1@auth0.com",
      "email":"testuser1@auth0.com",
      "Connection":"Username-Password-Authentication",
      "Created At":"2022-04-26T00:07:05.098Z",
      "Updated At":"2022-07-06T14:54:19.214Z"
   },
   {
      "Id":"auth0|62d1a1853bdcf11ff5dca672",
      "Nickname":"testuser2",
      "Name":"testuser2@auth0.com",
      "email":"testuser2@auth0.com",
      "Connection":"Username-Password-Authentication",
      "Created At":"2022-07-15T17:19:01.531Z",
      "Updated At":"2022-07-15T17:19:01.532Z"
   },
   {
      "Id":"auth0|62d1a1a524f32a4185c9ce23",
      "Nickname":"testuser3",
      "Name":"testuser3@auth0.com",
      "email":"testuser3@auth0.com",
      "Connection":"Username-Password-Authentication",
      "Created At":"2022-07-15T17:19:33.484Z",
      "Updated At":"2022-07-15T17:19:33.484Z"
   }
]
ユーザーのメールアドレスは、データベースでユーザーの検索キー(lookup key)となっているため、変更しないでください。
IDには一意のconnection|idがなければなりません。複数の接続に同じユーザーIDが存在すると、更新に失敗します。
属性を追加するには、各ユーザースキーマに新しいフィールドを作成し、値で更新します。以下の例では、「Family Name(姓)」属性に「Smith(スミス)」の値があり、新しい属性の後にカンマ(「,」)があります。 複数のユーザーにemail_verified属性を追加し、値をtrueに設定することもできます。
{
   "Id":"auth0|626737a9813c000069daf462",
   "Nickname":"testuser1",
   "Family Name":"Smith",
   "Name":"testuser1@auth0.com",
   "email":"testuser1@auth0.com",
   "email_verified":true,
   "Connection":"Username-Password-Authentication",
   "Created At":"2022-04-26T00:07:05.098Z",
   "Updated At":"2022-07-06T14:54:19.214Z"
}
変更をユーザーファイルに保存します。
この処理では、複数のユーザーをブロックできません。Auth0 DashboardまたはAuth0 Management APIを使ってユーザーを個別にブロックしなければなりません。

更新したユーザープロファイルのデータをインポートする

users-importエンドポイントを使用すると、更新されたユーザープロファイルファイルをアップロードし、1つのジョブで複数のユーザーを更新できます。インポートユーザーのジョブの作成エンドポイントに移動します。 ユーザーパラメーターにユーザーファイルを追加して、更新したいデータベースのデータベース接続を追加します。 既存のユーザー情報を更新するには、upsert値をtrueにする必要があります。更新を追加するには、[Try(試す)] を選択するか、Postmanを使用してユーザーをインポートします。 job_idを使用して、jobsエンドポイントのステータスを確認します。
I