- 詳細: コア ユーザープロファイルオブジェクトです。事前定義された属性に、名前、メールアドレス、ユーザーの最新ログイン時刻のタイムスタンプなどの基本情報が含まれます。このオブジェクトには、ユーザーの接続元から取得した情報が含まれる場合もあります。ユーザー属性の大半はルート属性 (
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プロバイダー から更新されるのはユーザープロファイル作成時のみとなるようにする必要があります。これにより、これらのルート属性は個別に編集することも、一括インポートで編集することも可能になります
ユーザープロファイルの検証
ユーザープロファイルに保存される際、すべての文字は小文字に変換されます。これはすべての Auth0 データベース接続に当てはまります。Auth0 DB が信頼できる情報源ではない場合 (たとえば、import mode が off の custom DB) や、Auth0 が信頼できる情報源ではないその他のソーシャル接続やエンタープライズ接続では、メールアドレスは元のまま保持され、小文字には変換されません。
技術的にはユーザープロファイルの一部ではありませんが、ユーザーのインポート時に重要となる可能性があるフィールドが、ほかに 3 つあります。
password_hash(text): ユーザーの接続用のハッシュ化済みパスワードです。ユーザーの作成時、Auth0 はパスワードの保護に bcrypt を使用します。互換性のあるハッシュ化済みパスワードをインポートすると、ユーザーは既存のパスワードを保持できるため、よりスムーズな利用体験を提供できます。互換性のあるパスワードは、bcrypt または を使用し、saltRounds が 10 でハッシュ化されている必要があります。なお、このフィールドを指定できるのはユーザーの初回インポート時のみで、後から更新することはできません。custom_password_hash(object): 別のアルゴリズムを使用して作成された、ユーザーの接続用のハッシュ化済みパスワードです。password_hashフィールドの代わりに使用されます。一括インポート処理中、ユーザーが最初にインポートされたcustom_password_hashを使用してログインしていない場合は、custom_password_hashを更新できます。