メインコンテンツへスキップ
ユーザーファイルには、ユーザーの情報をJSON形式の配列として含める必要があります。
一括インポートでのファイルサイズは、500 KBが上限です。データがこのサイズを上回る場合には、複数のインポートを開始する必要があります。

ユーザーのJSONスキーマ

以下のJSONスキーマは有効なユーザーを記述しています。
JSONスキーマの詳細については、jsonschema.orgをご覧ください。

プロパティ

ユーザーは以下のプロパティを使用してインポートすることができます。 app_metadatauser_metadataの詳細については、「ユーザープロファイルでのメタデータの使い方」をお読みください。

アプリメタデータ

user.app_metadataオブジェクトには、以下のいずれのプロパティも含めてはいけません
  • __tenant
  • _id
  • blocked
  • clientID
  • created_at
  • email_verified
  • email
  • globalClientID
  • global_client_id
  • identities
  • lastIP
  • lastLogin
  • loginsCount
  • metadata
  • multifactor_last_modified
  • multifactor
  • updated_at
  • user_id

カスタムパスワードハッシュ

user.custom_password_hashオブジェクトは、ユーザーのパスワードハッシュが他のアルゴリズムで作成された場合に、user.password_hashプロパティの代わりに使用できます。このフィールドとpassword_hashが相互に排他的であることに注意してください。 user.custom_password_hashオブジェクトは以下のプロパティに対応しています。

カスタムパスワードハッシュを更新する

ユーザーが最初にインポートされたcustom_password_hashを使ってログインしなかった場合、一括インポートの処理中にcustom_password_hashを更新できます。たとえば、以下のJSONは、custom_password_hashに異なる値を指定して、/api/v2/jobs/users-importsエンドポイントに2回送信することができます。2回目の送信では、upsertフラグをtrueに設定します。
browserling.comでBcryptパスワードジェネレーターを使用して、bcryptパスワードハッシュを生成することができます。

対応しているハッシュアルゴリズム

Auth0は現在、以下のユーザーパスワードハッシュのインポートに対応しています。 custom_password_hashを提供する際には、以下のセクションを考慮してください。

Argon2

algorithmargon2に設定されている場合には:
  • hash.encodingutf8でなければなりません。
  • hash.saltは使用できません。
  • hash.valueは、GitHubのP-H-C / phc-string-formatで指定されているように、PHC文字列形式でなければなりませんまた、GitHubのAuth0 / magicで指定されている要件に従う必要があります。
  • hash.valueにはbase64エンコードされたソルトが含まれなければなりません(PHCのドキュメントで指定されています)。

bcrypt

algorithmbcryptに設定されている場合には:
  • hash.encodingutf8でなければなりません。
  • hash.saltは使用できません。
  • hash.valueには以下の1つのプレフィックスが含まれなければなりません。
    • $2a$
    • $2b$
    • $2y$
    $2$$sha1$$2x$など、他のプレフィックスには現在対応していません。
たとえば、次はコストパラメーターの値を10に指定して「hello」の文字列から生成したものです: $2b$10$nFguVi9LsCAcvTZFKQlRKeLVydo8ETv483lkNsSFI/Wl1Rz1Ypo1K algorithmhmacに設定されている場合には: algorithmldapに設定されている場合には:

HMAC

algorithmmd4md5sha1sha256、またはsha512に設定されている場合には:
  • hash.encodinghexまたはbase64でなければなりません。
  • hash.digestは必須で、以下のいずれかでなければなりません。
    • md4
    • md5
    • ripemd160
    • sha1
    • sha224
    • sha256
    • sha384
    • sha512
    • whirlpool
  • hash.key.valueは必須です。
  • hash.key.encodingbase64hex、またはutf8でなければなりません。

LDAP

algorithmpbkdf2に設定されている場合には:
  • hash.encodingutf8でなければなりません。
  • saltは使用できません。
  • hash.valueでは、IETF Datatrackerに掲載のRFC-2307セクション5.3で説明されている形式を厳守する必要があります。
  • スキーマはmd5|smd5|sha*|ssha*のいずれかになります。詳細についてはこちらを参照してください。
  • cryptスキーマは、動作がシステムや実装に依存するため、非対応 であることに注意してください。詳細については、Open LDAPが提供するAdmin Guideの「4.4.2.CRYPT password storage scheme」をお読みください。

MDおよびSHA

algorithmscryptに設定されている場合には:
  • hash.encodinghexまたはbase64でなければなりません。

PBKDF2

user.mfa_factors配列には、ユーザーの登録が含まれます。詳細については、「Auth0での多要素認証」をお読みください。登録をインポートすると、インポート後にユーザーがMFAに再登録する必要がなくなります。以下の登録タイプに対応しています。
  • hash.encodingutf8でなければなりません。
  • hash.saltは使用できません。
  • hash.valueは、GitHubのP-H-C / phc-string-formatで指定されているように、PHC文字列形式でなければなりません
  • hash.valueにはB64エンコードされたソルトが含まれなければなりません(埋め込み文字「=」を省略したbase64で、PHCのドキュメントで指定されています)。
  • hash.valueには、i(iterations)とl(keylen)パラメーターが含まれなければなりません。これらのパラメーターを省略すると、デフォルトのi=100000およびl=64が使用されます。
  • idpbkdf2-<digest>形式(pbkdf2-sha512pbkdf2-md5など)でなければなりません。以下のダイジェストに対応しています。
    • RSA-MD4
    • RSA-MD5
    • RSA-MDC2
    • RSA-RIPEMD160
    • RSA-SHA1
    • RSA-SHA1-2
    • RSA-SHA224
    • RSA-SHA256
    • RSA-SHA384
    • RSA-SHA512
    • md4
    • md4WithRSAEncryption
    • md5
    • md5WithRSAEncryption
    • mdc2
    • mdc2WithRSA
    • ripemd
    • ripemd160
    • ripemd160WithRSA
    • rmd160
    • sha1
    • sha1WithRSAEncryption
    • sha224
    • sha224WithRSAEncryption
    • sha256
    • sha256WithRSAEncryption
    • sha384
    • sha384WithRSAEncryption
    • sha512
    • sha512WithRSAEncryption
    • ssl3-md5
    • ssl3-sha1
    • whirlpool

scrypt

  • hash.encodinghexまたはbase64でなければなりません。
  • keylenパラメーターは必須です。
  • costパラメーターを使用することができます。指定しない場合には、デフォルトの16384が使用されます。
  • blockSizeパラメーターを使用することができます。指定しない場合には、デフォルトの8が使用されます。
  • parallelizationパラメーターを使用することができます。指定しない場合には、デフォルトの1が使用されます。

MFA要素

以下の内容のあるファイルが有効です。

基本例

以下は、提供されたハッシュのあるユーザーの例です。

カスタムパスワードハッシュの例

ご推察のとおり、user.mfa_factors配列は、ユーザーのMFA登録を提供できるようにします。以下の登録タイプに対応しています。 以下は、MFA要素のあるユーザーの例です。

MFA要素の例

  • 電話:SMSベースの検証に使用されます。
  • TOTP:MFAタイプのアプリ(Google Authenticator、Microsoft Authenticator、Authy、1Password、LastPass)で使用するOTPシークレットです。
  • メール:メールベースの検証に使用されます。
以下は、MFA要素のあるユーザーの例です。

もっと詳しく