ユーザーファイルには、ユーザーの情報をJSON形式の配列として含める必要があります。Documentation Index
Fetch the complete documentation index at: https://auth0-feat-ionic-capacitor-quickstart-modernization.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
一括インポートでのファイルサイズは、500 KBが上限です。データがこのサイズを上回る場合には、複数のインポートを開始する必要があります。
ユーザーのJSONスキーマ
以下のJSONスキーマは有効なユーザーを記述しています。プロパティ
ユーザーは以下のプロパティを使用してインポートすることができます。| プロパティ | タイプ | 説明 | インポート中のアップサート? |
|---|---|---|---|
app_metadata | オブジェクト | アプリケーションの主要な機能またはユーザーがアクセスできるものに影響を与えるデータ。app_metadataに保管されているデータをユーザーは編集できません。これには、サポートプラン、ロール、アクセスグループなどが含まれます。 | Yes |
blocked | ブール値 | ユーザーがブロックされているかどうかを示します。 | No |
email | 文字列 | ユーザーのメールアドレス。 | No |
email_verified | ブール値 | ユーザーがメールアドレスを検証したかどうかを示します。デフォルトでemailがアップサートにより更新され、email_verifiedでない場合はfalseに設定されます。 | Yes |
family_name | 文字列 | ユーザーの姓。 | Yes |
given_name | 文字列 | ユーザーの名。 | Yes |
name | 文字列 | ユーザーのフルネーム。 | Yes |
nickname | 文字列 | ユーザーのニックネーム。 | Yes |
picture | 文字列 | ユーザーのプロファイル画像を指すURL | Yes |
user_id | 文字列 | ユーザーの一意の識別子。これは、接続戦略によりプリペンドされます。 | No |
user_metadata | オブジェクト | 勤務先住所、自宅住所、ユーザーのお気に入りなど、ユーザーのアクセスに影響を与えないデータ。 | Yes |
username | 文字列 | ユーザーのユーザー名。 | No |
password_hash | 文字列 | ユーザーの接続のためにハッシュ化されたパスワード。ユーザーが作成されると、Auth0は[bcrypt](https://auth0.com/blog/hashing-in-action-understanding-bcrypt/)を使用してパスワードを保護します。ハッシュ化されたパスワードをインポートすることで、ユーザーはパスワードを保持できるようになるため、スムーズなエクスペリエンスを提供できます。互換性のあるパスワードは、bcrypt またはを使ってハッシュ化し、saltRoundsを10回繰り返したものでなければなりません。このプロパティはユーザーが最初にインポートされたときのみ提供され、後で更新できません。 | No |
custom_password_hash | オブジェクト | ユーザーのパスワードハッシュを提供するより一般的な方法。これは、ユーザーのパスワードハッシュが他のアルゴリズムで作成された場合に、password_hashフィールドの代わりに使用できます。ユーザーが最初にインポートされたcustom_password_hashを使ってログインしなかった場合、一括インポートの処理中にcustom_password_hashを更新できます。 | Yes |
mfa_factors | 配列 | このユーザーを認証するために使用できるMFA要素 | No |
app_metadataとuser_metadataの詳細については、「ユーザープロファイルでのメタデータの使い方」をお読みください。
アプリメタデータ
user.app_metadataオブジェクトには、以下のいずれのプロパティも含めてはいけません 。
__tenant_idblockedclientIDcreated_atemail_verifiedemailglobalClientIDglobal_client_ididentitieslastIPlastLoginloginsCountmetadatamultifactor_last_modifiedmultifactorupdated_atuser_id
カスタムパスワードハッシュ
user.custom_password_hashオブジェクトは、ユーザーのパスワードハッシュが他のアルゴリズムで作成された場合に、user.password_hashプロパティの代わりに使用できます。このフィールドとpassword_hashが相互に排他的であることに注意してください。
user.custom_password_hashオブジェクトは以下のプロパティに対応しています。
| プロパティ | タイプ | 説明 |
|---|---|---|
algorithm | string | パスワードをハッシュするために使用されるアルゴリズム。以下のうちの1つである必要があります:
|
hash | オブジェクト | |
hash.value | 文字列 | パスワードハッシュ。 |
hash.encoding | 文字列 | 提供されたハッシュのエンコーディング。以下のうちの1つである必要があります:
|
hash.digest | 文字列 | HMACハッシュを生成するために使用されるアルゴリズム。以下のうちの1つである必要があります:
|
hash.key | オブジェクト | HMACハッシュを生成するために使用される鍵。 |
hash.key.value | 文字列 | 鍵値。 |
hash.key.encoding | 文字列 | 鍵エンコーディング。以下のうちの1つである必要があります:
hash.key.encodingはutf8です。 |
salt | object | |
salt.value | 文字列 | ハッシュを生成するために使用されるソルト値。 |
salt.encoding | 文字列 | 提供されたソルトのエンコーディング。以下のうちの1つである必要があります:
salt.encodingはutf8です。 |
salt.position | 文字列 | ハッシュが計算されたときのソルトの位置。デフォルトで、salt.positionはprefixです。 |
password.encoding | 文字列 | ハッシュを生成するために使用されるパスワードのエンコーディング。以下のうちの1つである必要があります:
password.encodingからトランスコードされます。たとえば、ハッシュがucs2エンコードされた文字列から生成された場合は、次のように設定します: "encoding": "ucs2" |
keylen | 整数 | スクリプトハッシュのバイト単位での望ましい鍵長。ゼロよりも大きい整数でなければなりません。algorithmがscryptに設定されている場合、このアルゴリズムが必要です。 |
cost | 整数 | スクリプトハッシュに使用されるCPU/メモリーコストパラメーター。1より大きい2の冪でなければなりません。デフォルトで、costは16384です。algorithmがscryptに設定されている場合のみ、このアルゴリズムが使用されます。 |
blockSize | 整数 | スクリプトハッシュに使用されるブロックサイズパラメーター。正の整数でなければなりません。デフォルトで、blockSizeは8です。algorithmがscryptに設定されている場合のみ、このアルゴリズムが使用されます。 |
parallelization | 整数 | スクリプトハッシュに使用される並列化パラメーター。正の整数でなければなりません。デフォルトで、parallelizationは1です。algorithmがscryptに設定されている場合のみ、このアルゴリズムが使用されます。 |
カスタムパスワードハッシュを更新する
ユーザーが最初にインポートされたcustom_password_hashを使ってログインしなかった場合、一括インポートの処理中にcustom_password_hashを更新できます。たとえば、以下のJSONは、custom_password_hashに異なる値を指定して、/api/v2/jobs/users-importsエンドポイントに2回送信することができます。2回目の送信では、upsertフラグをtrueに設定します。
対応しているハッシュアルゴリズム
Auth0は現在、以下のユーザーパスワードハッシュのインポートに対応しています。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には以下の1つのプレフィックスが含まれなければなりません。$2a$$2b$$2y$
$2$、$sha1$や$2x$など、他のプレフィックスには現在対応していません。
hello」の文字列から生成したものです:
$2b$10$nFguVi9LsCAcvTZFKQlRKeLVydo8ETv483lkNsSFI/Wl1Rz1Ypo1K
algorithmがhmacに設定されている場合には:
algorithmがldapに設定されている場合には:
HMAC
algorithmがmd4、md5、sha1、sha256、またはsha512に設定されている場合には:
-
hash.encodingはhexまたはbase64でなければなりません。 -
hash.digestは必須で、以下のいずれかでなければなりません。md4md5ripemd160sha1sha224sha256sha384sha512whirlpool
-
hash.key.valueは必須です。 -
hash.key.encodingはbase64、hex、またはutf8でなければなりません。
LDAP
algorithmがpbkdf2に設定されている場合には:
hash.encodingはutf8でなければなりません。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
algorithmがscryptに設定されている場合には:
hash.encodingはhexまたはbase64でなければなりません。
PBKDF2
user.mfa_factors配列には、ユーザーの登録が含まれます。詳細については、「Auth0での多要素認証」をお読みください。登録をインポートすると、インポート後にユーザーがMFAに再登録する必要がなくなります。以下の登録タイプに対応しています。
-
hash.encodingはutf8でなければなりません。 -
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が使用されます。 -
idはpbkdf2-<digest>形式(pbkdf2-sha512、pbkdf2-md5など)でなければなりません。以下のダイジェストに対応しています。RSA-MD4RSA-MD5RSA-MDC2RSA-RIPEMD160RSA-SHA1RSA-SHA1-2RSA-SHA224RSA-SHA256RSA-SHA384RSA-SHA512md4md4WithRSAEncryptionmd5md5WithRSAEncryptionmdc2mdc2WithRSAripemdripemd160ripemd160WithRSArmd160sha1sha1WithRSAEncryptionsha224sha224WithRSAEncryptionsha256sha256WithRSAEncryptionsha384sha384WithRSAEncryptionsha512sha512WithRSAEncryptionssl3-md5ssl3-sha1whirlpool
scrypt
| プロパティ | タイプ | 説明 |
|---|---|---|
email | オブジェクト | |
email.value | 文字列 | MFAのメールアドレス。 |
phone | オブジェクト | |
phone.value | 文字列 | SMS MFAの電話番号。国コードがあり、先頭が+でなければなりません。例:"+12125550001" |
totp | オブジェクト | |
totp.secret | 文字列 | Authenticatorアプリ(Google Authenticator、Microsoft Authenticator、Authy、1Password, LastPass)を使ったMFA認証のOTPシークレット。パッドなしのBase32エンコーディングで指定する必要があります。例: "JBTWY3DPEHPK3PNP" |
hash.encodingはhexまたは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シークレットです。
- メール:メールベースの検証に使用されます。