Skip to main content

制限事項

メタデータフィールドの制限

  • メタデータフィールドでサポートされるのは、JSON 互換のデータ型 (文字列、数値、配列、オブジェクトなど) のみです。
  • フィールド名に . (ドット) や $ (ドル記号) を含めることはできません。
    Disallowed
    Allowed
  • app_metadata フィールドには、次のプロパティを含めることはできません。
    • __tenant
    • _id
    • blocked
    • clientID
    • created_at
    • email_verified
    • email
    • globalClientID
    • global_client_id
    • identities
    • lastIP
    • lastLogin
    • loginsCount
    • metadata
    • multifactor_last_modified
    • multifactor
    • updated_at
    • user_id
  • Auth0 Authentication API のSignup エンドポイントを使用して user_metadata フィールドを設定する場合、各値が 500 文字以下の文字列フィールドを最大 10 個まで含めることができます。カスタムのサインアッププロセスでメタデータを扱う例については、Custom Signupを参照してください。

ユーザープロファイルのサイズ制限

  • Auth0 ユーザープロファイルのサイズ上限は 10 KB です。現在は、このサイズ上限を超えるプロファイルへの書き込みも成功しますが、今後失敗する可能性があります。テナントログではサイズ超過のプロファイルにフラグが付けられるため、エラーを回避するためにユーザープロファイルをサイズ上限内に収めることを強くお勧めします。
  • サイズ制限導入前から存在するサイズ超過のユーザープロファイルについては、Management API の List または Search Users エンドポイントを使用してインデックス化、クエリ、および返却できるユーザーデータに、ユーザーごとに 1 MB の上限があります。大きなユーザープロファイルのすべてのユーザー属性を取得するには、ID またはメールでユーザーを取得します。

ベストプラクティス

機密情報

Auth0 のメタデータは安全なデータストアではないため、高リスクのシークレットや、社会保障番号やクレジットカード番号のような個人を特定できる情報 (PII) などの機密情報の保存には使用しないでください。Auth0 のお客様には、メタデータに保存するデータを十分に評価し、アイデンティティおよびアクセス管理の目的に必要なものだけを保存することを強く推奨します。

動的なフィールド名

フィールド名は固定にするべきです。動的なフィールド名はインデックス効率を下げ、検索クエリの性能低下を招きます。スキーマは固定されているほうが、検索や操作、扱いがしやすくなります。
避けるべき例
推奨される例

名前の競合

app_metadata フィールドとルートプロファイルフィールドに同じ名前を使用しないでください。app_metadata フィールドは、ルールと Actions の両方でルートプロファイルにマージされるため、ルートプロファイルフィールドを上書きしてしまう可能性があります。 たとえば、ユーザーのルートプロファイルに groups フィールド ( から返されるもの) があり、app_metadata 内にも groups フィールドがある場合、プロファイルは次のようになります。
ルール で ユーザーオブジェクト の groups フィールドを参照すると、["internal-group-1", "internal-group-2"] が返されます。

データ型の統一

データ型はユーザー間で統一してください。たとえば、あるユーザーでは値を文字列として保存し (user.user_metadata.age = "23")、別のユーザーでは数値として保存している場合 (user.user_metadata.age = 23)、データの取得時に問題が発生する可能性があります。

データの保存

メタデータには、ユーザー認証に関するデータのみを保存するようにしてください。Auth0 の保存機能と検索機能は、大量の検索や頻繁な更新を必要としないユースケース向けに設計されています。 ユーザーに関する詳細なプロファイルデータを保持する必要がある場合は、外部システムで管理してください。そのシステム上のユーザー識別子を、Auth0 のメタデータフィールドとして保存できます。