サインアップ時には、ユーザーから同意を取得する必要があります。Auth0 では、この情報をユーザーメタデータに保存できます。利用できる方法はいくつかあり、Auth0 を使ってユーザーをどのように認証するかによって異なります。メタデータを使用したソリューションを設計する前に、必ず制限事項を理解しておいてください。Auth0 では、user_metadata の合計サイズは 16 MB に制限されています。詳しくは、Metadata Field Names and Data Types を参照してください。
GDPR に基づき、ユーザーが自身の個人データの処理に同意したことを示せるようにしておく必要があります。Auth0 では、ユーザーの同意情報を user_metadata の一部として保存できます。ユーザーが同意したかどうかを示すフラグだけを保存することも、同意情報や設定のセット (たとえば、ユーザーが同意した日付、同意した利用規約などを含む) を保存することもできます。その後、この情報には Management API を使用してアクセスし、必要に応じて操作できます。Management API には、ユーザー検索に関する複数のオプションに加え、ユーザーメタデータを更新したり、ユーザーを一括エクスポートしたりするためのエンドポイントも用意されています。Management API にアクセスするには、が必要です。Management API 用のアクセストークンを取得する方法については、Management API アクセストークンを参照してください。
メールアドレスでユーザーを検索するには、Search User by Email エンドポイントを使用します。返されるフィールドを制限するには、リクエストパラメーター fields を user_metadata に設定します。これにより、完全なユーザープロファイルではなく、user_metadata のみが返されます。リクエスト例:レスポンス例:
ユーザーを ID で検索するには、Get a User エンドポイントを使用します。返されるフィールドを制限するには、fields リクエストパラメーターを user_metadata に設定します。これにより、完全なユーザープロファイルではなく、user_metadata のみが返されます。リクエスト例:レスポンス例:
Management API を使用してユーザーのリストをエクスポートするには、User Export endpoint を使用します。このエンドポイントは、接続に関連付けられたすべてのユーザーをエクスポートするジョブを作成します。必要なのは接続の ID です。この ID を確認するには、Get Connections endpoint を使用します (この接続だけを取得するには、name パラメーターに接続の名前を設定できます) 。接続 ID と Management API 用のアクセストークンを取得したら、ユーザーのエクスポートを開始できます。リクエストとレスポンスのサンプルについては、Import and Export Users を参照してください。Management API 用のアクセストークンを取得する方法については、Management API Access Tokens を参照してください。さらに、以下も必要です。
ユーザーを削除するには、Delete a User エンドポイントを使用します。このエンドポイントのレスポンス本文は空です。そのため、ユーザーが正常に削除されたことを確認するには、そのユーザーのメールアドレスを使用して取得を試みてください。エンドポイントからエラーが返された場合、ユーザーの削除リクエストは成功しています。
ユーザーを削除済みとしてフラグ付けするには、app_metadata を使用します。次の例では、app_metadata フィールドに deleted というプロパティを追加する方法を示します。これにより、このプロパティが true に設定されているすべてのユーザーを、認証プロセスで削除済みとして扱うように設定できます。ユーザーのメタデータを更新するには、Update a User エンドポイントを使用します。