メインコンテンツへスキップ
Auth0の正規化されたユーザープロファイルには、複数のコンポーネントがあります。
  • Details(詳細) :コアユーザープロファイルオブジェクトで、あらかじめ定義された属性に名前、メール、最後のログインの日時などの基本情報が含まれています。このオブジェクトには、ユーザーのソース接続からの情報が含まれることもあります。多くのユーザー属性はルートの属性(userオブジェクトの最初またはルートレベルに記録されている属性)で、そのいくつかは変更することができます。
  • Metadata(メタデータ) :2次的なストレージとして機能する2つのサブオブジェクト(user_metadataapp_metadata)で、ユーザーの追加情報をカスタマイズ可能な属性に記録します。app_metadatauser_metadataを使用するタイミングを含む詳細は、「ユーザープロファイルでのメタデータの使い方」をお読みください。

ユーザープロファイル属性

以下の属性はユーザープロファイルで使用することができます。それらの多くの属性はルートの属性(userオブジェクトの最初またはルートレベルに記録されている属性)で、以下でも記載があるように、そのいくつかは更新、インポート、エクスポートすることができます。 プライバシーの観点から、Auth0によって保管されるべきではないユーザーフィールドがある場合には、Auth0のデータベースで保管して欲くない属性をDenyList(拒否リスト)に追加することができます。詳細については、「ユーザー属性をDenyList(拒否リスト)に追加する」をお読みください。 特に設定を変更しない限り、Auth0以外のIDプロバイダー(Google、Facebook、Xなど)によって提供されるユーザープロファイル属性は、ユーザーがログインするたびにIDプロバイダーから更新されるため、直接編集することはできません。 正規化ユーザープロファイルのルート属性であるnamenicknamegiven_namefamily_namepictureを編集可能にするには、接続が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プロバイダーオブジェクトのコンテンツはプロバイダーによって異なりますが、一般的には次のものを含みます。

  • connection(テキスト):ユーザーの認証に使用されるAuth0接続の名前。
  • isSocial(ブール値):接続がソーシャル接続であるかどうかを示します。
  • provider(テキスト):Facebook、Google、SAML、独自のプロバイダーなど、ユーザーを認証するエンティティの名前。
  • user_id(テキスト):この接続/プロバイダーのユーザーの一意の識別子。
  • profileData(オブジェクト):接続に関連付けられたユーザー情報。プロファイルがリンクされると、セカンダリアカウントに関連付けられたユーザー情報が入力されます。
その中には、プロバイダーに使用されるAPIアクセストークンを含むものもあります。
不可不可不可
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_atlast_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文字に対応しています
他の3つのフィールドは厳密にはユーザープロファイルの一部ではありませんが、ユーザーをインポートする際には関連性が高いかもしれません。
  • password_hash(テキスト):ユーザーの接続のためにハッシュ化されたパスワードです。ユーザーが作成されると、Auth0はbcryptを使用してパスワードを保護します。互換性のあるハッシュ化されたパスワードをインポートすることで、ユーザーはパスワードを保持できるようになるため、スムーズなエクスペリエンスを提供することができます。互換性のあるパスワードは、bcrypt 2a2aまたは2b2bを使ってハッシュ化し、saltRoundsを10回繰り返したものでなければなりません。このフィールドはユーザーが初めてインポートされる際にのみ提供可能であることに注意してください。後で更新することはできません。
  • custom_password_hash(オブジェクト):他のアルゴリズムを使ってユーザーの接続を作成した場合のハッシュ化されたパスワードです。これは、password_hashフィールドの代わりに使用します。ユーザーが最初にインポートされたcustom_password_hashを使ってログインしなかった場合、一括インポートの処理中にcustom_password_hashを更新できます。

もっと詳しく

I