一括インポートのファイルサイズ上限は 500KB です。データがこのサイズを超える場合は、複数回に分けてインポートを実行する必要があります。
ユーザー JSON スキーマ
プロパティ
| プロパティ | 型 | 説明 | インポート時にアップサート? |
|---|---|---|---|
app_metadata | object | アプリケーションの中核機能や、ユーザーがアクセスできる内容に影響する可能性があるデータです。app_metadata に保存されたデータはユーザーが編集できません。これには、サポートプラン、ロール、アクセスグループなどが含まれる場合があります。 | はい |
blocked | boolean | ユーザーがブロックされているかどうかを示します。 | いいえ |
email | string | ユーザーのメールアドレスです。 | いいえ |
email_verified | boolean | ユーザーがメールアドレスを確認済みかどうかを示します。upsert によって email のみを更新し、email_verified を更新しない場合、デフォルトで false に設定されます。 | はい |
family_name | string | ユーザーの姓です。 | はい |
given_name | string | ユーザーの名です。 | はい |
name | string | ユーザーの氏名です。 | はい |
nickname | string | ユーザーのニックネームです。 | はい |
picture | string | ユーザーのプロフィール画像を指す URL です。 | はい |
user_id | string | ユーザーの一意の識別子です。これには接続ストラテジーが先頭に付加されます。 | いいえ |
user_metadata | object | 勤務先住所、自宅住所、ユーザー設定など、ユーザーがアクセスできる内容に影響しないデータです。 | はい |
username | string | ユーザーのユーザー名です。 | いいえ |
password_hash | string | ユーザーの接続用のハッシュ化されたパスワードです。ユーザーの作成時、Auth0 はパスワードを保護するために bcrypt を使用します。ハッシュ化されたパスワードをインポートすると、ユーザーは既存のパスワードをそのまま使用できるため、よりスムーズに利用できます。互換性のあるパスワードは、bcrypt または を使用し、saltRounds を 10 にしてハッシュ化する必要があります。このプロパティは、ユーザーの初回インポート時にのみ指定でき、その後は更新できません。 | いいえ |
custom_password_hash | object | ユーザーのパスワードハッシュを指定する、より汎用的な方法です。ユーザーのパスワードハッシュが別のアルゴリズムで作成されている場合は、password_hash フィールドの代わりにこれを使用できます。一括インポート処理中に、ユーザーが最初にインポートされた custom_password_hash を使用してログインしていない場合は、custom_password_hash を更新できます。 | はい |
mfa_factors | array | このユーザーの認証に使用できる MFA ファクターです。 | いいえ |
app_metadata と user_metadata の詳細については、ユーザープロフィールにおけるメタデータの仕組みを理解する を参照してください。
アプリメタデータ
user.app_metadata オブジェクトには、次のプロパティを含めないでください。
__tenant_idblockedclientIDcreated_atemail_verifiedemailglobalClientIDglobal_client_ididentitieslastIPlastLoginloginsCountmetadatamultifactor_last_modifiedmultifactorupdated_atuser_id
カスタムパスワードハッシュ
user.password_hash プロパティの代わりに user.custom_password_hash オブジェクトを使用できます。なお、このフィールドと password_hash は相互に排他的です。
user.custom_password_hash オブジェクトには、次のプロパティがあります。
| Property | Type | Description |
|---|---|---|
algorithm | string | パスワードのハッシュ化に使用するアルゴリズム。次のいずれかである必要があります:
|
hash | object | |
hash.value | string | パスワードハッシュ。 |
hash.encoding | string | 指定したハッシュのエンコーディング。次のいずれかである必要があります:
|
hash.digest | string | HMAC ハッシュの生成に使用するアルゴリズム。次のいずれかである必要があります:
|
hash.key | object | HMAC ハッシュの生成に使用するキー。 |
hash.key.value | string | キーの値。 |
hash.key.encoding | string | キーのエンコーディング。次のいずれかである必要があります:
hash.key.encoding は utf8 です。 |
salt | object | |
salt.value | string | ハッシュの生成に使用するソルト値。 |
salt.encoding | string | 指定したソルトのエンコーディング。次のいずれかである必要があります:
salt.encoding は utf8 です。 |
salt.position | string | ハッシュ計算時のソルトの位置。デフォルトでは、salt.position は prefix です。 |
password.encoding | string | ハッシュの生成に使用するパスワードのエンコーディング。次のいずれかである必要があります:
password.encoding に基づいてトランスコードされます。たとえば、ハッシュが ucs2 でエンコードされた文字列から生成されている場合は、次のように設定します: "encoding": "ucs2" |
keylen | integer | scrypt ハッシュで使用する、バイト単位のキー長。0 より大きい整数である必要があります。 このパラメーターは、 algorithm が scrypt に設定されている場合は必須です。 |
cost | integer | scrypt ハッシュで使用する CPU/メモリーのコストパラメーター。1 より大きい 2 の累乗である必要があります。デフォルトでは、cost は 16384 です。このパラメーターは、 algorithm が scrypt に設定されている場合にのみ使用されます。 |
blockSize | integer | scrypt ハッシュで使用するブロックサイズパラメーター。正の整数である必要があります。デフォルトでは、blockSize は 8 です。このパラメーターは、 algorithm が scrypt に設定されている場合にのみ使用されます。 |
parallelization | integer | scrypt ハッシュで使用する並列化パラメーター。正の整数である必要があります。デフォルトでは、parallelization は 1 です。このパラメーターは、 algorithm が scrypt に設定されている場合にのみ使用されます。 |
カスタムパスワードハッシュを更新する
custom_password_hash を使ってログインしていない場合は、custom_password_hash を更新できます。たとえば、以下の JSON を custom_password_hash に異なる値を指定して /api/v2/jobs/users-imports エンドポイントに 2 回送信できます。2 回目の送信時には、upsert フラグを true に設定してください。
サポートされているハッシュアルゴリズム
custom_password_hash を指定する際は、以下のセクションを参照してください。
Argon2
algorithm が argon2 に設定されている場合:
hash.encodingはutf8でなければなりません。hash.saltは使用できません。hash.valueは、GitHub の P-H-C / phc-string-format で規定されている PHC 文字列形式である必要があります。また、GitHub の Auth0 / magic で指定されている要件にも準拠している必要があります。hash.valueには、base64 エンコードされた ソルト (PHCドキュメントで規定されているとおり) を含める必要があります。
bcrypt
algorithm が bcrypt に設定されている場合:
-
hash.encodingはutf8である必要があります。 -
hash.saltは、ソルト のエンコーディングおよび位置とあわせて使用できます。 -
hash.valueには、次のいずれかのプレフィックスが含まれている必要があります。$2a$$2b$$2y$
$2$、$sha1$、$2x$などの他のプレフィックスはサポートされていません。
hello から生成されたものです。
$2b$10$nFguVi9LsCAcvTZFKQlRKeLVydo8ETv483lkNsSFI/Wl1Rz1Ypo1K
bcrypt アルゴリズムは、パスワードハッシュの計算時または比較時に最大 72 バイトの入力を処理します。また、salt.value の長さもこの 72 バイトの入力上限に含まれます。72 バイトの上限を超える入力は切り詰められます。たとえば、ソルト が 10 バイトを使用する場合、ハッシュ化または比較に使用できるパスワードの最大長は 62 バイトです。
この短縮後の上限を超えるパスワードは切り詰められるため、パスワード強度が低下したり、ハッシュ衝突が発生したりする可能性があります。ハッシュ化する前に、必ずパスワードの長さを検証してください.
HMAC
algorithm が hmac に設定されている場合:
-
hash.encodingはhexまたはbase64のいずれかである必要があります。 -
hash.digestは必須であり、次のいずれかである必要があります。md4md5ripemd160sha1sha224sha256sha384sha512whirlpool
-
hash.key.valueは必須です。 -
hash.key.encodingはbase64、hex、utf8のいずれかである必要があります。
LDAP
algorithm が ldap に設定されている場合:
hash.encodingはutf8でなければなりません。ソルトは使用できません。hash.valueは、IETF Datatracker の RFC-2307 section-5.3 で定義されている形式に準拠している必要があります。- スキームは
md5|smd5|sha*|ssha*のいずれかである必要があります。詳細については こちら を参照してください。 - crypt スキームは、システムや実装によって動作が異なるため サポートされていません。詳細については、Open LDAP Admin Guide - 14.4.2. CRYPT password storage scheme を参照してください。
MD または SHA
algorithm が md4、md5、sha1、sha256、または sha512 に設定されている場合:
hash.encodingはhexまたはbase64のいずれかである必要があります。
PBKDF2
algorithm が pbkdf2 に設定されている場合:
-
hash.encodingはutf8である必要があります。 -
hash.saltは使用できません。 -
hash.valueは、GitHub の P-H-C / phc-string-format で規定されている PHC 文字列形式である必要があります。 -
hash.valueには、B64 エンコードされた ソルト (PHCドキュメントで指定されているとおり、パディング文字=を除いた base64) を含める必要があります。 -
hash.valueにはi(反復回数) およびl(keylen) パラメーターを含める必要があります。これらのパラメーターを省略した場合、デフォルトでi=100000およびl=64が使用されます。 -
idはpbkdf2-<digest>形式 (pbkdf2-sha512、pbkdf2-md5など) である必要があります。サポートされているダイジェストは次のとおりです。RSA-MD4RSA-MD5RSA-MDC2RSA-RIPEMD160RSA-SHA1RSA-SHA1-2RSA-SHA224RSA-SHA256RSA-SHA384RSA-SHA512md4md4WithRSAEncryptionmd5md5WithRSAEncryptionmdc2mdc2WithRSAripemdripemd160ripemd160WithRSArmd160sha1sha1WithRSAEncryptionsha224sha224WithRSAEncryptionsha256sha256WithRSAEncryptionsha384sha384WithRSAEncryptionsha512sha512WithRSAEncryptionssl3-md5ssl3-sha1whirlpool
scrypt
algorithm が scrypt に設定されている場合:
hash.encodingはhexまたはbase64のいずれかである必要があります。keylenパラメーターは必須です。costパラメーターは省略可能です。指定しない場合、デフォルト値は 16384 です。blockSizeパラメーターは省略可能です。指定しない場合、デフォルト値は 8 です。parallelizationパラメーターは省略可能です。指定しない場合、デフォルト値は 1 です。
MFA ファクター
user.mfa_factors 配列には、ユーザーの 登録情報が含まれます。詳細については、Auth0 の多要素認証 を参照してください。登録情報をインポートすると、インポート後にユーザーが MFA に再登録する必要がなくなります。サポートされている登録タイプは次のとおりです。
| プロパティ | 型 | 説明 |
|---|---|---|
email | object | |
email.value | string | MFA 用のメールアドレス。 |
phone | object | |
phone.value | string | SMS MFA 用の電話番号。国コードを含み、+ で始まっている必要があります。例: "+12125550001" |
totp | object | |
totp.secret | string | 認証アプリ (Google Authenticator、Microsoft Authenticator、Authy、1Password、LastPass) を使用する MFA 認証用の OTP シークレット。パディングなしの Base32 エンコードである必要があります。例: "JBTWY3DPEHPK3PNP" |
例
基本的な例
カスタムパスワードハッシュの例
MFA ファクターの例
user.mfa_factors 配列では、ユーザーの MFA 登録情報を指定できます。サポートされている登録タイプは次のとおりです。
- 電話番号: SMS ベースの認証に使用します。
- TOTP: MFA アプリ (Google Authenticator、Microsoft Authenticator、Authy、1Password、LastPass) で使用する OTP シークレットです。
- メールアドレス: メールベースの認証に使用します。