- 詳細: コア ユーザープロファイルオブジェクトです。事前定義された属性に、名前、メールアドレス、ユーザーの最新ログイン時刻のタイムスタンプなどの基本情報が含まれます。このオブジェクトには、ユーザーの接続元から取得した情報が含まれる場合もあります。ユーザー属性の大半はルート属性 (
userオブジェクトの最初の、つまりルートレベルに格納される属性) で、その一部は編集可能です。 - メタデータ: カスタマイズ可能な属性に追加のユーザー情報を格納するための補助ストレージとして機能する 2 つのサブオブジェクトです。
user_metadataとapp_metadataがあります。app_metadataとuser_metadataの使い分けを含む詳細については、ユーザープロファイルでのメタデータの仕組みを理解する を参照してください。
ユーザープロファイル属性
user オブジェクトの先頭、つまりルートレベルに格納される属性) であり、以下の説明のとおり、一部は更新、インポート、およびエクスポートが可能です。
プライバシー上の理由から Auth0 に保存すべきでないユーザーフィールドがある場合は、Auth0 データベースに保持したくない属性を DenyList に追加できます。詳細については、Add User Attributes to the Deny List を参照してください。
デフォルトでは、Auth0 以外の (Google、Facebook、X など) から提供されるユーザープロファイル属性は、ユーザーがログインするたびに IDプロバイダー から更新されるため、直接編集できません。IDプロバイダー 由来の属性の詳細については、Configure Identity Provider Connection for User Profile Updates を参照してください。
正規化されたユーザープロファイルの name、nickname、given_name、family_name、picture の各ルート属性を編集できるようにするには、Auth0 との接続同期を設定 し、ユーザー属性が IDプロバイダー から更新されるのはユーザープロファイル作成時のみとなるようにする必要があります。これにより、これらのルート属性は個別に編集することも、一括インポートで編集することも可能になります
| 名前 | 型 | 説明 | 検索可否 | 更新可否 | インポート可? | インポート時にアップサート可? | エクスポート可? |
|---|---|---|---|---|---|---|---|
app_metadata | object | サポートプラン、セキュリティロール (Authorization Core 機能セットを使用していない場合) 、アクセス制御グループなど、ユーザーのアクセスに影響する情報を格納するカスタムフィールドです。詳細については、Metadata Overview を参照してください。 | Y | Y | Y | Y | Y |
blocked | boolean | ユーザーがブロックされているかどうかを示します。インポートすると、Auth0 への移行時にもユーザーをブロック状態のまま維持できます。 | Y | 可 | 可 | 不可 | 可 |
blocked_for | 配列 (オブジェクト) | ブルートフォース攻撃の疑いでブロックされた IP アドレス。 | N | N | N | N | N |
created_at | 日時 | ユーザープロファイルが最初に作成された日時を示すタイムスタンプ。 | Y | N | N | N | Y |
email | テキスト | (一意) ユーザーのメールアドレス。 | Y | Y | Y | N | Y |
email_verified | 真偽値 | ユーザーがメールアドレスを確認済みかどうかを示します。 | Y | Y | Y | Y | Y |
family_name | text | ユーザーの姓です。 | Y | Y | Y | Y | Y |
given_name | text | ユーザーの名。 | Y | Y | Y | Y | Y |
guardian_authenticators | 配列 (オブジェクト) | SMS やリカバリーコードを含む、ユーザーが設定した Guardian のバックアップ認証方法の詳細情報。 | N | N | N | N | N |
identities | 配列 (オブジェクト) | ユーザーが最初に認証したIDプロバイダーから取得した情報が含まれます。ユーザーは自分のプロフィールを複数のIDプロバイダーにリンクすることもできます。その場合、それらのIDもこの配列に含まれます。各IDプロバイダーオブジェクトの内容はプロバイダーによって異なりますが、通常は次の項目が含まれます。
| Y | N | N | N | Y |
last_ip | 文字列 | ユーザーの前回ログイン時のIPアドレス。 | Y | N | N | N | Y |
last_login | 日時 | ユーザーが最後にログインした日時を示すタイムスタンプです。ユーザーがブロックされている状態でログインした場合でも、ブロックされたセッションによって last_login は更新されます。user< オブジェクトを使用して Rule 内からこのプロパティを参照している場合、その値はその Rule をトリガーしたログインに対応します。これは、Rule がログイン後に実行されるためです。 | Y | N | N | N | Y |
last_password_reset | 日時 | ユーザーのパスワードが最後にリセットまたは変更された日時を示すタイムスタンプです。ユーザーの作成時点では、このフィールドは存在しません。このプロパティは、データベース接続でのみ使用できます。 | N | N | N | N | Y |
logins_count | 整数 | ユーザーのログイン回数。ユーザーがブロックされている状態でログインした場合も、そのセッションは logins_count に含まれます。 | 可 | 不可 | 不可 | 不可 | Y |
multifactor | 配列 (文字列) | ユーザーが登録している多要素認証プロバイダーのリスト。 | N | N | N | N | Y |
multifactor_last_modified | 日時 | ユーザーの多要素認証が最後に更新された日時。 | N | N | N | N | Y |
name | text | ユーザーのフルネーム。 | Y | Y | Y | Y | Y |
nickname | テキスト | ユーザーのニックネーム。 | Y | Y | Y | Y | Y |
phone_number | text | ユーザーの電話番号。SMS接続のユーザーにのみ有効です。 | Y | Y | N | N | Y |
phone_verified | ブール値 | ユーザーの電話番号が確認済みかどうかを示します。SMS 接続のユーザーに対してのみ有効です。 | Y | Y | N | いいえ | はい |
picture | テキスト | ユーザーのプロフィール画像のURL。 | いいえ | はい | Y | Y | Y |
tenant | text | 使用中のテナントの名前。 | N | N | N | N | N |
updated_at | 日時 | ユーザーのプロフィールが最後に更新された日時を示すタイムスタンプです。last_login の変更も更新と見なされるため、ほとんどの場合、updated_at は last_login と一致します。 | はい | いいえ | いいえ | N | Y |
user_id | text | (一意) ユーザーの識別子です。インポートすると、マッピングテーブルを使用せずに複数のシステム間でユーザーレコードを同期できます。 | Y | N | Y | N | Y |
user_metadata | object | 勤務先住所、自宅住所、ユーザー設定など、ユーザーがアクセスできる内容に影響しない情報を格納するカスタムフィールドです。詳細は、メタデータの概要を参照してください。 | Y | Y | Y | Y | Y |
username | text | (一意) ユーザーのusernameです。 | Y | Y | はい | いいえ | はい |
ユーザープロファイルの検証
ユーザープロファイルに保存される際、すべての文字は小文字に変換されます。これはすべての Auth0 データベース接続に当てはまります。Auth0 DB が信頼できる情報源ではない場合 (たとえば、import mode が off の custom DB) や、Auth0 が信頼できる情報源ではないその他のソーシャル接続やエンタープライズ接続では、メールアドレスは元のまま保持され、小文字には変換されません。
| フィールド | 型 | 文字数制限 | 検証 |
|---|---|---|---|
email | メールアドレス | 最大長は、ユーザー名/ローカル部が 64 文字、ドメイン部が 256 文字です。 | JSON 検証スキーマ。 |
username | 文字列 | username のデフォルトの許容長は 1~15 文字です。最大長は 128 文字です。 | username フィールドでは、次の文字を使用できます。 英数字 (アクセント記号なし。保存時に自動的に小文字へ変換) ; アットマーク (@) 文字 (ただし、メールアドレスは使用不可) ; キャレット (^) 文字; ドル記号 ($) 文字; ドット (.) 文字; 感嘆符 (!) 文字; グレーブアクセント (`) 文字; ハイフン (-) 文字; シャープ (#) 文字; プラス (+) 文字; シングルクォート (’) 文字; チルダ (~) 文字; アンダースコア (_) 文字; これ以外の文字や記号は使用できません。また、Auth0 はカスタムデータベース入力の検証やサニタイズを行いません。 |
phone_number | 電話番号 | 標準形式 電話番号は E.164 形式である必要があります | |
password | 文字列 | 設定できるパスワードの最小長は 1 バイト、最大長は 72 バイトです。 | 標準文字: 33~126 の範囲の ASCII 文字が有効で、次が含まれます。 A から Z の大文字, a から z の小文字, 0 から 9 の数字, 使用可能な特殊文字。 |
name | 文字列 | 1~150 文字 | すべての UTF-8 文字がサポートされます |
nickname | 文字列 | 1~350 文字 | すべての UTF-8 文字がサポートされます |
family_name | 文字列 | 1~150 文字 | すべての UTF-8 文字がサポートされます |
| `given_name` | 文字列 | 1~150 文字 | すべての UTF-8 文字がサポートされます |
password_hash(text): ユーザーの接続用のハッシュ化済みパスワードです。ユーザーの作成時、Auth0 はパスワードの保護に bcrypt を使用します。互換性のあるハッシュ化済みパスワードをインポートすると、ユーザーは既存のパスワードを保持できるため、よりスムーズな利用体験を提供できます。互換性のあるパスワードは、bcrypt または を使用し、saltRounds が 10 でハッシュ化されている必要があります。なお、このフィールドを指定できるのはユーザーの初回インポート時のみで、後から更新することはできません。custom_password_hash(object): 別のアルゴリズムを使用して作成された、ユーザーの接続用のハッシュ化済みパスワードです。password_hashフィールドの代わりに使用されます。一括インポート処理中、ユーザーが最初にインポートされたcustom_password_hashを使用してログインしていない場合は、custom_password_hashを更新できます。