- Details(詳細) :コアユーザープロファイルオブジェクトで、あらかじめ定義された属性に名前、メール、最後のログインの日時などの基本情報が含まれています。このオブジェクトには、ユーザーのソース接続からの情報が含まれることもあります。多くのユーザー属性はルートの属性(
user
オブジェクトの最初またはルートレベルに記録されている属性)で、そのいくつかは変更することができます。 - Metadata(メタデータ) :2次的なストレージとして機能する2つのサブオブジェクト(
user_metadata
とapp_metadata
)で、ユーザーの追加情報をカスタマイズ可能な属性に記録します。app_metadata
とuser_metadata
を使用するタイミングを含む詳細は、「ユーザープロファイルでのメタデータの使い方」をお読みください。
ユーザープロファイル属性
以下の属性はユーザープロファイルで使用することができます。それらの多くの属性はルートの属性(user
オブジェクトの最初またはルートレベルに記録されている属性)で、以下でも記載があるように、そのいくつかは更新、インポート、エクスポートすることができます。
プライバシーの観点から、Auth0によって保管されるべきではないユーザーフィールドがある場合には、Auth0のデータベースで保管して欲くない属性をDenyList(拒否リスト)に追加することができます。詳細については、「ユーザー属性をDenyList(拒否リスト)に追加する」をお読みください。
特に設定を変更しない限り、Auth0以外のIDプロバイダー(Google、Facebook、Xなど)によって提供されるユーザープロファイル属性は、ユーザーがログインするたびにIDプロバイダーから更新されるため、直接編集することはできません。
正規化ユーザープロファイルのルート属性であるname
、nickname
、given_name
、family_name
、picture
を編集可能にするには、接続がAuth0と同期されるように構成して、ユーザー属性がユーザープロファイルの作成時のみIDプロバイダーに更新されるようにしなければなりません。そうすれば、これらのルート属性を個別に、または一括インポートを通じて編集できるようになります。
名前 | タイプ | 説明 | 検索 | 更新 | インポート | インポート中のアップサート | エクスポート |
---|---|---|---|---|---|---|---|
app_metadata | オブジェクト | サポートプランやセキュリティロール(認可コア機能セットを使用しない場合)、アクセス制御グループなど、ユーザーのアクセスに影響を与える情報を保存するカスタムフィールド。詳細については、メタデータの概要を参照してください。 | 可 | 可 | 可 | 可 | 可 |
blocked | ブール値 | ユーザーがブロックされているかどうかを示します。インポートにより、サブスクラバーはユーザーがAuth0への移行時にブロックされたままであることを確認できます。 | 可 | 可 | 可 | 不可 | 可 |
blocked_for | 配列(オブジェクト) | 総当たり攻撃の疑いがあるためにブロックされたIPアドレス。 | 不可 | 不可 | 不可 | 不可 | 不可 |
created_at | 日時 | ユーザープロファイルが最初に作成された時間を示すタイムスタンプ。 | 可 | 不可 | 不可 | 不可 | 可 |
email | テキスト | (一意) ユーザーのメールアドレス。 | 可 | 可 | 可 | 不可 | 可 |
email_verified | ブール値 | ユーザーがメールアドレスを確認したかどうかを示します。 | 可 | 可 | 可 | 可 | 可 |
family_name | テキスト | ユーザーの姓。 | 可 | 可 | 可 | 可 | 可 |
given_name | テキスト | ユーザーの名。 | 可 | 可 | 可 | 可 | 可 |
guardian_authenticators | 配列 (オブジェクト) | ユーザーが設定したガーディアンのバックアップ認可方法(SMSや回復コードなど)についての詳細情報。 | 不可 | 不可 | 不可 | 不可 | 不可 |
identities | 配列 (オブジェクト) | ユーザーを最初に認証したIDプロバイダーから取得された情報を格納します。ユーザーは、自身のプロファイルを複数のIDプロバイダーにリンクすることもできますが、その場合にはそれらのIDもこの配列に含まれます。個別のIDプロバイダーオブジェクトのコンテンツはプロバイダーによって異なりますが、一般的には次のものを含みます。
| 可 | 不可 | 不可 | 不可 | 可 |
last_ip | テキスト | ユーザーの前回のログインに関連するIPアドレス。 | 可 | 不可 | 不可 | 不可 | 可 |
last_login | 日時 | ユーザーが前回ログインした時間を示すタイムスタンプ。ブロックされているユーザーがログインした場合、ブロックされたセッションがlast_login を更新します。user< オブジェクトを使用してルール内からこのプロパティを使用している場合、その値はルールをトリガーしたログインに関連付けられます。これは、ルールがログイン後に実行されるためです。 | 可 | 不可 | 不可 | 不可 | 可 |
last_password_reset | 日時 | ユーザーのパスワードが前回リセット/変更された時間を示すタイムスタンプ。ユーザーの作成時には、このフィールドは存在しません。このプロパティは、データベース接続でのみ利用できます。 | 不可 | 不可 | 不可 | 不可 | 可 |
logins_count | 整数 | ユーザーがログインした回数。ブロックされているユーザーがログインした場合、ブロックされたセッションがlogins_count に算入されます。 | 可 | 不可 | 不可 | 不可 | 可 |
multifactor | 配列 (文字列) | ユーザーが登録されている多要素プロバイダーのリスト。 | 不可 | 不可 | 不可 | 不可 | 可 |
multifactor_last_modified | 日時 | ユーザーの多要素認証が前回更新された日時。 | 不可 | 不可 | 不可 | 不可 | 可 |
name | テキスト | ユーザーのフルネーム。 | 可 | 可 | 可 | 可 | 可 |
nickname | テキスト | ユーザーのニックネーム。 | 可 | 可 | 可 | 可 | 可 |
phone_number | テキスト | ユーザーの電話番号。SMS接続のあるユーザーに対してのみ有効です。 | 可 | 可 | 不可 | 不可 | 可 |
phone_verified | ブール値 | ユーザーが電話番号を確認したかどうかを示します。SMS接続のあるユーザーに対してのみ有効です。 | 可 | 可 | 不可 | 不可 | 可 |
picture | テキスト | ユーザーのプロファイル画像をポイントするURL。 | 不可 | 可 | 可 | 可 | 可 |
tenant | テキスト | 使用されているテナントの名前。 | 不可 | 不可 | 不可 | 不可 | 不可 |
updated_at | 日時 | ユーザーのプロフィールが前回更新/変更された日時を示すタイムスタンプ。last_login への変更は更新とみなされるため、ほとんどの場合、updated_at はlast_login と一致します。 | 可 | 不可 | 不可 | 不可 | 可 |
user_id | テキスト | (一意)ユーザーの識別子。インポートすることで、ユーザーレコードはマッピングテーブルを使用せずに、複数のシステムに渡って同期することができます。 | 可 | 不可 | 可 | 不可 | 可 |
user_metadata | オブジェクト | 勤務先住所、自宅住所、ユーザー設定など、ユーザーのアクセスに影響を与えないユーザーの情報を保存するカスタムフィールド。詳細については、メタデータの概要をお読みください。 | 可 | 可 | 可 | 可 | 可 |
username | テキスト | (一意)ユーザーのユーザー名。 | 可 | 可 | 可 | 不可 | 可 |
ユーザープロファイルの検証
Auth0では、ユーザープロファイルの特定のフィールドについて、特定の検証スキーマを受け入れています。以下の表で、プロファイル属性値の設定における要件をご確認ください。ユーザープロファイルに保存される文字は、すべて小文字に変換されます。これは、すべてのAuth0データベース接続に当てはまります。Auth0 DBが信頼できる情報源でない場合(たとえば、インポートモードが無効化されたカスタムDB)や、他の種類のソーシャルエンタープライズ接続でAuth0が信頼できる情報源でない場合、メールアドレスは小文字に変換されず、そのままで保持されます。
フィールド | タイプ | 文字数制限 | 検証 |
---|---|---|---|
email | メール | ユーザーまたはローカル部分では64文字、ドメイン部分では256文字が上限です。 | JSON検証スキーマ |
username | 文字列 | デフォルトで許容されるユーザー名の長さは1~15文字です。128文字が上限です。 | ユーザー名フィールドは以下の文字を受け付けます。 英数字(アクセント記号を除く。自動的に小文字に変換されます) アットマーク(@)(ただし、メールアドレスは許容されません) キャレット(^) ドル記号($) ドット(.) 感嘆符(!) 抑音符号(`) ハイフン(-) ナンバーサイン(#) プラス(+) シングルクォーテーション(‘) チルダ(~) アンダースコア(_) 他の文字や記号は許容されません。Auth0はカスタムデータベースへの入力を検証またはサニタイズしません。 |
phone_number | 電話 | 標準形式です。 電話番号はE.164形式でなければなりません。 | 正規表現:^+[0-9]$ |
password | 文字列 | 設定可能なパスワードの最小長は1バイト、最大長は72バイトです。 | 標準文字:ASCII 33~126の範囲に含まれる以下の文字が有効です。 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
(テキスト):ユーザーの接続のためにハッシュ化されたパスワードです。ユーザーが作成されると、Auth0はbcryptを使用してパスワードを保護します。互換性のあるハッシュ化されたパスワードをインポートすることで、ユーザーはパスワードを保持できるようになるため、スムーズなエクスペリエンスを提供することができます。互換性のあるパスワードは、bcrypt またはを使ってハッシュ化し、saltRoundsを10回繰り返したものでなければなりません。このフィールドはユーザーが初めてインポートされる際にのみ提供可能であることに注意してください。後で更新することはできません。custom_password_hash
(オブジェクト):他のアルゴリズムを使ってユーザーの接続を作成した場合のハッシュ化されたパスワードです。これは、password_hash
フィールドの代わりに使用します。ユーザーが最初にインポートされたcustom_password_hash
を使ってログインしなかった場合、一括インポートの処理中にcustom_password_hash
を更新できます。