メインコンテンツへスキップ
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プロバイダーに更新されるようにしなければなりません。そうすれば、これらのルート属性を個別に、または一括インポートを通じて編集できるようになります。

ユーザープロファイルの検証

Auth0では、ユーザープロファイルの特定のフィールドについて、特定の検証スキーマを受け入れています。以下の表で、プロファイル属性値の設定における要件をご確認ください。
ユーザープロファイルに保存される文字は、すべて小文字に変換されます。これは、すべてのAuth0データベース接続に当てはまります。Auth0 DBが信頼できる情報源でない場合(たとえば、インポートモードが無効化されたカスタムDB)や、他の種類のソーシャルエンタープライズ接続でAuth0が信頼できる情報源でない場合、メールアドレスは小文字に変換されず、そのままで保持されます。
他の3つのフィールドは厳密にはユーザープロファイルの一部ではありませんが、ユーザーをインポートする際には関連性が高いかもしれません。
  • password_hash(テキスト):ユーザーの接続のためにハッシュ化されたパスワードです。ユーザーが作成されると、Auth0はbcryptを使用してパスワードを保護します。互換性のあるハッシュ化されたパスワードをインポートすることで、ユーザーはパスワードを保持できるようになるため、スムーズなエクスペリエンスを提供することができます。互換性のあるパスワードは、bcrypt 2a2aまたは2b2bを使ってハッシュ化し、saltRoundsを10回繰り返したものでなければなりません。このフィールドはユーザーが初めてインポートされる際にのみ提供可能であることに注意してください。後で更新することはできません。
  • custom_password_hash(オブジェクト):他のアルゴリズムを使ってユーザーの接続を作成した場合のハッシュ化されたパスワードです。これは、password_hashフィールドの代わりに使用します。ユーザーが最初にインポートされたcustom_password_hashを使ってログインしなかった場合、一括インポートの処理中にcustom_password_hashを更新できます。

もっと詳しく