前提条件
ユーザーインポートジョブを実行する前に、以下を行います。- データベース接続をユーザーのインポートに構成して、少なくとも1つのアプリケーションに有効化します。
- パスワードをインポートする場合には、対応しているアルゴリズムの1つを使ってパスワードがハッシュ化されていることを確認します。ユーザーのパスワードが非対応のアルゴリズムでハッシュ化されている場合には、一括インポート後に初回のログインでユーザーがパスワードをリセットする必要があります。
- の登録をインポートする場合には、対応している
email、phoneまたはtotpのタイプであることを確認します。 - ジョブエンドポイントの要求に、Management APIトークンを取得します。
Auth0テナントからエクスポートしたファイルを使用する場合は、
ndjsonからJSONに変換する必要があります。同じユーザーIDを維持するために、インポートするユーザーIDからauth0| prefixを削除しなければなりません。インポート処理では、ユーザーIDに自動的にauth0| prefixが追加されます。インポートする前にauth0| prefixを削除しなかった場合、ユーザーIDは、auth0|auth0|...として返されます。ユーザーのJSONファイルを作成する
Auth0にインポートしたいユーザーデータを含むJSONファイルを作成します。ユーザーデータをJSONファイルにエクスポートする方法は、既存のユーザーデータベースによって異なります。のエンドポイントはJSONファイルを期待します。そのため、fs.readFileSyncではなく、fs.createReadStreamを使用する必要があります。エンドポイントは、JSONファイルではなく、パイプで連結された読み出しストリームを期待します。
JSONファイルのスキーマと例については、「一括インポートのデータベーススキーマと例」をお読みください。
一括インポートでのファイルサイズは、500 KBが上限です。データがこのサイズを上回る場合には、複数のインポートを開始する必要があります。
一括ユーザーインポートを要求する
一括ユーザーインポートジョブを始めるには、POST要求を一括ユーザーインポートジョブ作成エンドポイントに対して行います。必ず、MGMT_API_ACCESS_TOKEN、USERS_IMPORT_FILE.json、CONNECTION_ID、およびEXTERNAL_IDのプレースホルダーの値をそれぞれManagement APIのアクセストークン、ユーザーのJSONファイル、データベース接続IDと外部IDに置き換えます。
要求に成功すると、以下のような応答を受け取ります。
send_completion_emailがtrueに設定されている場合には、ジョブの成功または失敗がテナント管理者に通知されます。ジョブ失敗のメールでは、ユーザーのインポートでユーザーのJSONファイルが解析に失敗したことを管理者に知らせる場合もあります。
複数のインポートジョブを同時に実行する
ユーザーインポートジョブ作成エンドポイントでは、同時に実行可能なインポートジョブが2つまでに制限されています。2つのジョブが保留中の場合に追加のジョブを要求すると、429 Too Many Requests(要求が多すぎます)応答が返されます。
ジョブステータスを確認する
ジョブのステータスを確認するには、GET要求をジョブ取得エンドポイントに対して行います。必ず、MGMT_API_ACCESS_TOKENおよびJOB_IDのプレースホルダーの値をそれぞれManagement APIのアクセストークンとユーザーインポートジョブIDに置き換えます。
ユーザーインポートジョブのステータスに応じて、以下のような応答の1つを受け取ります。
保留中
ジョブのタイムアウト
すべてのユーザーインポートジョブは、2時間 が経過するとタイムアウトします。ジョブがこの時間制限内に完了しない場合は、失敗としてマークされます。 また、ジョブ関連のデータはすべて24時間後に自動削除され、アクセスできなくなります。そのため、何らかのストレージメカニズムを使ってジョブ結果を保管することを強くお勧めします 。ログエントリを取得する
ユーザーインポートジョブにエラーがある場合には、GET要求をジョブエラー詳細取得エンドポイントに行って、エラー詳細を取得することができます。必ず、MGMT_API_ACCESS_TOKENおよびJOB_IDのプレースホルダーの値をそれぞれManagement APIのアクセストークンとユーザーインポートジョブIDに置き換えます。
要求に成功すると、以下のような応答を受け取ります。hash.valueなどの機密フィールドは応答内でマスクされます。
- ANY_OF_MISSING
- ARRAY_LENGTH_LONG
- ARRAY_LENGTH_SHORT
- CONFLICT
- CONFLICT_EMAIL
- CONFLICT_USERNAME
- CONNECTION_NOT_FOUND
- DUPLICATED_USER
- ENUM_MISMATCH
- FORMAT
- INVALID_TYPE
- MAX_LENGTH
- MAXIMUM
- MFA_FACTORS_FAILED
- MIN_LENGTH
- MINIMUM
- NOT_PASSED
- OBJECT_REQUIRED
- PATTERN