メインコンテンツへスキップ
状況によっては、ユーザーのプロファイルに保存されている情報を変更する必要が生じることがあります。ユーザーのプロファイル (ユーザーアカウントとも呼ばれます) は Auth0 に保存されており、そこに含まれる情報の変更が必要になる理由はさまざまです。
  • セルフサービスによる情報更新
  • 組織の利用規約に関する必須の更新
  • 規制遵守に伴う変更
複数の Auth0 テナントにまたがってユーザープロファイルへ直接アクセスすることはできません。複数の Auth0 テナントを本番環境で運用している場合は、この点に注意する必要があります。
IDプロバイダー は、ログイン時に提供されたデータを使用してユーザーのプロファイルを作成します。これを Normalized User Profile と呼びます。
Normalized User Profile はログイン時に IDプロバイダーからの情報で更新され、その中に含まれる限られた情報は Auth0 Management API を使用して変更できます。また、Actions などの Auth0 の拡張機能を使用して、Normalized User Profile の情報を上書きすることもできます。詳細については、User Profile Data Modification を参照してください。
デフォルトでは、ユーザー ID ごとに 1 つのユーザープロファイルが作成されます。ここでは、いくつか検討すべき点があります。
  • ユーザー体験のカスタマイズに役立つ情報を保存する必要がある場合、どうすべきでしょうか。
  • 由来ではないユーザー情報を保存する必要がある場合はどうでしょうか。
  • ユーザーが変更できないユーザー関連情報を保存する必要があるのはなぜでしょうか。
  • ユーザーが変更できないユーザー関連情報を保存する必要がある場合は、どうすればよいでしょうか。
  • ユーザーがパスワードを忘れた場合はどうなりますか。
  • パスワードを変更したい場合、ユーザーは何をすべきでしょうか。
Auth0 では、ユーザーのプロファイルにメタデータを保存できます。これにより、言語設定やアクセシビリティ設定などの追加情報を保持して、ユーザー体験を向上させることができます。メタデータは、ユーザーが変更できる情報と変更できない情報の両方を保存するために使用できます。後者を使えば、たとえば既存の実装を変更することなく、ユーザープロファイルを既存システム内のレコードに関連付けることが可能です。 パスワードを忘れたユーザーや、既存のセルフサービスの仕組み (または導入を予定しているセルフサービスの仕組み) を通じてパスワードの変更が許可されているユーザーについては、Auth0 が提供する Password Reset 機能を活用できます。これは既存の実装に統合でき、Universal Login を含む Auth0 の標準 UI ウィジェットにはあらかじめ組み込まれています。 また、常に 確認済みのユーザーアカウント を扱うようにする必要があります。Auth0 には、そのための標準的な仕組みも用意されています。さらに、EU 市民をプライバシー侵害やデータ侵害から保護するうえで非常に具体的な要件を定めている GDPR などの 規制遵守 も考慮する必要があります。 Auth0 は現在、すぐに利用できる一元的なプロファイル管理ポータルを提供していませんが、セルフサービスのプロファイル管理を実現するために、Auth0 の を使用して独自に構築することも、既存の UI を利用することもできます。Management API エンドポイントについて説明している Auth0 の コミュニティガイダンス を参照してください。Management API へのすべての呼び出しでは、アクセストークン が必要です。
セルフサービスのプロファイル管理は、セキュリティとデータプライバシーの両面で懸念を生じさせる可能性があります。たとえば、ユーザーによるメールアドレスの変更を許可したい場合でも、セキュリティのベストプラクティスに従わずに実施すると、ユーザー自身がアカウントにアクセスできなくなったり、個人を特定できる情報 (PII) が漏えいしたり、さらに深刻な場合にはセキュリティ侵害の原因になったりするおそれがあります。
また、 を使用して、ユーザーのプロフィールの一部を管理することもできます。Auth0 Dashboard を介したユーザーのプロフィール管理は、主に管理者向けの機能であり、本番環境でセルフサービスのプロフィール管理に使用すべきではありません。ただし、Dashboard が提供するインターフェースは、ユーザーのプロフィール情報をすばやく簡単に操作できるため、開発中には非常に便利です。

メタデータ

Normalized User Profile 情報に加えて、Auth0 のユーザープロファイルにはメタデータも保存できます。メタデータを使用すると、IDプロバイダーに由来しない情報や、IDプロバイダーから提供される情報を上書きする情報を保存できます。
メタデータの使用にあたっては、Auth0 のユーザーデータ保存のベストプラクティスに従ってください。メタデータストレージは汎用的なデータストアとして設計されていないため、可能な限り独自の外部ストレージを引き続き使用してください。また、メタデータのサイズと複雑さも最小限に抑える必要があります。さらに、Auth0 Management API では、ユーザーに関連付けられたメタデータの更新や削除について厳格なガイダンスが定められています。
Auth0 Management API と Auth0 Authentication API の両方を使用してメタデータを操作できます。Normalized User Profile を管理する場合と同様に、メタデータを操作するために Management API を呼び出すには、アクセストークンが必要です。
Management API の呼び出しには、Auth0 Rate Limiting policy が適用されます。この点を考慮してください。そのため Auth0 では通常、API を直接呼び出すのではなく、開発環境に適した Auth0 SDK を使用することを推奨しています。

ユーザーメタデータ

ユーザーメタデータ (user_metadata とも呼ばれます) は、ユーザープロファイルに保存できる情報で、ユーザーはセルフサービスによるプロフィール管理の一環として、これを参照および更新できます。この種のメタデータには、たとえばユーザーの敬称や、Auth0 から送信されるメールをカスタマイズするために使用できる、ユーザーの希望する言語などがあります。
Auth0 のメールのカスタマイズに使用する情報は、メタデータに保存してください。ユーザーによる変更を許可する情報 (メールの言語を判定するための情報など) は、可能であれば user_metadata に保存してください。

アプリメタデータ

一方、アプリメタデータ (app_metadataとも呼ばれます) は、ユーザープロファイルとともに保存できる情報ですが、適切な認可がある場合にのみ読み取りまたは更新できますapp_metadataにユーザーが直接アクセスすることはできません。この種のメタデータには、たとえば、ユーザーが直近の有効な利用規約に同意したことを示すフラグや、その同意日時などがあります。

パスワードのリセット

パスワードを忘れたユーザーや、既存のセルフサービスの仕組みでパスワード変更を許可されているユーザー向けに、Auth0 は Password Reset 機能を提供しています。これは既存の実装に統合できるほか、Universal Login の一部として提供される Auth0 の標準 UI ウィジェットにもあらかじめ組み込まれています。
パスワード変更とパスワードのリセットは、Auth0 の Database Connection タイプでのみサポートされています。
Auth0 の には、Auth0 Authentication API の機能を使用したパスワードリセット向けの組み込み UX サポートがあります。別の方法として、開発環境に適した Auth0 SDK のいずれかを介して、Auth0 Authentication API を使用することもできます。パスワードリセットのワークフローで使用されるメールテンプレートは、Auth0 の標準 UI ウィジェットを使用する場合でも、カスタマイズした Universal Login を使用する場合でも、完全にカスタマイズできます。 一方、Auth0 Management API を使用すると、Database Connection タイプで定義されたユーザー ID のパスワードを直接変更できます。Auth0 Management API は、任意のセルフサービスのプロファイル管理実装の一部として使用できるほか、Change Password ページのカスタマイズ の一部として使用することもできます。

アカウントの確認

また、常に確認済みのユーザーアカウントを扱い、Auth0 が提供する仕組みを活用する必要があります。さらに、GDPR のような法規制への準拠も考慮する必要があります。GDPR では、EU 市民をプライバシー侵害やデータ漏えいから保護するための非常に具体的な要件が定められています。 Auth0 には、ユーザーのメールアドレス宛てにアカウント確認用の 確認メール を送信する標準機能が用意されています。デフォルトでは、Auth0 は セルフサインアップ の一環として作成された Database Connection の ID について、確認メールを自動的に送信します。ただし Auth0 には、ユーザー登録時にソーシャルプロバイダーによるメールアドレスの検証が行われない場合に、確認メールの送信に使用できる Management API endpoint も用意されています。

ユーザーのブロック

Auth0 でのユーザーアクセスのブロックは、特定の条件下でユーザーがアプリケーションにログインできないようにするための機能です。デフォルトでは、Auth0 Dashboard には、管理者がすべてのアプリケーションに対するユーザーアクセスのブロックとブロック解除の両方を行える標準の仕組みが用意されており、この機能は Management API を使用して実装することもできます。また、Auth0 の拡張機能を使用して、特定のアプリケーションに対するユーザーアクセスを無効にすることや、よりきめ細かなアクセス制御を提供することもできます。 さらに、Management API では、不正な認証情報の入力が過度に行われたために無効化されたユーザーのブロックを解除することもできます。

ユーザーアカウントのリンク

既定では、各ユーザーIDに対して 1 つのユーザープロファイル (ユーザーアカウント) が作成されます。Facebook や Google によるソーシャル認証と、Auth0 によるユーザー名とパスワード認証のように、複数のIDプロバイダーからのログインを有効にすると、それぞれに個別のユーザープロファイルが作成されます。Auth0 のユーザーアカウントのリンク機能を使用すると、関連付けられているすべてのIDを集約した 1 つのプロファイルを作成できます。 アカウントのリンクでは、ユーザープロファイルを 2 つずつマージします。リンク処理では、プライマリアカウントとセカンダリアカウントを指定する必要があります。ただし、リンクできるアカウント数は 1 組に限られません。たとえば、すでに複数のアカウントがマージされているアカウントをプライマリアカウントとして使い、さらに別のセカンダリアカウントをリンクできます。つまり、1 つのユーザーアカウントに複数のIDを関連付けることができ、次のような利点があります。
  • ユーザーは、IDごとに別々のプロファイルを作成しなくても、複数のIDでログインできます。
  • 登録済みユーザーは、新しいログインIDを使いながら、既存のプロファイルを引き続き利用できます。
  • ユーザーは、ログインに使用するIDに関係なく、自分のプロファイルを維持できます。
  • より多くのID情報を持つアカウントにリンクすることで、より完全なプロファイルを提供できます。
  • アプリケーションは、接続ごとのユーザープロファイルデータを取得できます。

デプロビジョニング

アプリケーションでは、ユーザーからのアカウント削除のリクエストに対応する必要がある場合があります (たとえば、GDPR の要件を満たすためです) 。この機能は、プロファイル関連のさまざまな機能とあわせて、Management API を使用して実装できます。Management API を使用すると、ユーザーに関して保存されている情報を取得し、必要に応じて更新できます。 Auth0 は、サインアップ時に同意通知へのリンクを表示することや、ユーザーが自分に関して収集されたデータを閲覧および訂正する権利を支えるためのデータ保護など、プライバシー関連のさまざまな要件に対応できます。
GDPR やその他のプライバシー関連の指令では、ユーザーに、自分に関して保持されているデータを閲覧および訂正する権利が認められています。また、「忘れられる権利」も認められています。Management API を使用すると、これらの要件に対応し、法的義務を果たすことができます。

プロジェクト計画ガイド

推奨戦略の詳細を確認できるよう、ダウンロードして参照できる PDF 形式の計画ガイドを提供しています。 B2C IAM プロジェクト計画ガイド