- ユーザー自身による情報更新
- 組織の利用規約に関する必須の更新
- 規制遵守に伴う変更
Normalized User Profile はログイン時に IDプロバイダーから更新され、その中に含まれる限られた情報は Auth0 Management API を通じて変更できます。また、Actions などの Auth0 の拡張機能を使って、Normalized User Profile の情報を上書きすることもできます。詳しくは User Profile Data Modification を参照してください。
- ユーザー体験を個別最適化するための情報を保存する必要がある場合、どうすべきでしょうか。
- 由来ではないユーザー情報を保存する必要がある場合はどうでしょうか。
- ユーザーが変更できないユーザー関連情報を保存する必要があるのはなぜでしょうか。
- ユーザーが変更できないユーザー関連情報を保存する必要がある場合は、どうすべきでしょうか。
- ユーザーがパスワードを忘れた場合はどうなりますか。
- ユーザーがパスワードを変更したい場合、どうすべきでしょうか。
メタデータ
Auth0 のユーザープロファイルには、Normalized User Profile の情報に加えてメタデータを保存できます。メタデータを使うと、IDプロバイダーに由来しない情報を保存したり、IDプロバイダーから提供される情報を上書きする値を保持したりできます。メタデータを使用する際は、Auth0 のユーザーデータ保存のベストプラクティスに従ってください。メタデータストレージは汎用的なデータストアとして設計されていないため、可能な場合は独自の外部ストレージを引き続き使用してください。また、メタデータのサイズと複雑さは最小限に抑える必要があります。さらに、Auth0 Management API には、ユーザーに関連付けられたメタデータの更新や削除に関する厳格なガイドラインがあります。
ユーザーメタデータ
ユーザーメタデータ (user_metadata とも呼ばれます) は、ユーザープロファイルに保存できる情報で、ユーザーはセルフサービスのプロファイル管理の一環として、その内容の確認や更新を行えます。この種のメタデータには、ユーザーの敬称や、Auth0 から送信されるメールをカスタマイズする際に使用できる優先言語などが含まれます。
Auth0 のメールのカスタマイズに使用したい情報はメタデータに保存してください。ユーザーによる変更を許可する情報 (たとえば、メールの言語を判定するための情報) は、可能であれば
user_metadata に保存してください。アプリのメタデータ
一方、アプリのメタデータ (app_metadataとも呼ばれます) は、ユーザープロフィールに紐づけて保存できる情報ですが、適切な認可がある場合にのみ読み取りや更新が可能で、ユーザーが app_metadata に直接アクセスすることはできません。この種のメタデータの例としては、ユーザーが最新の有効な利用規約に同意したことを示すフラグや、その同意日時を示す日付などがあります。
Password Reset
Auth0 では、パスワードを忘れたユーザーや、既存のセルフサービスの仕組みを通じてパスワードを変更できるユーザー向けに、Password Reset 機能を提供しています。これは既存の実装に統合できるほか、Universal Login の一部として含まれる、すぐに使える Auth0 の UI ウィジェットにもあらかじめ組み込まれています。 Auth0 には、Auth0 Authentication API の機能を使用した Password Reset 向けの UX サポートが標準で備わっています。あるいは、開発環境に適した Auth0 SDK のいずれかを介して、Auth0 Authentication API を使用することもできます。Password Reset のワークフローで使用するメールテンプレートも、Auth0 の標準 UI ウィジェットを使用する場合でも、カスタマイズした Universal Login を使用する場合でも、完全にカスタマイズできます。 一方、Auth0 Management API を使用すると、Database Connection タイプで定義されたユーザー ID の パスワードを直接変更 できます。Auth0 Management API は、セルフサービスのプロファイル管理機能の実装の一部として使用できるほか、Change Password ページのカスタマイズ の一部として使用することもできます。アカウントの検証
また、常に検証済みのユーザーアカウントを扱い、Auth0 が提供する仕組みを活用する必要があります。さらに、GDPR のような規制遵守についても考慮する必要があります。GDPR には、EU 市民をプライバシー侵害やデータ漏えいから保護するための非常に具体的な要件が定められています。 Auth0 には、ユーザーのメールアドレスに 確認メール を送信してアカウントを検証するための、すぐに使える機能が用意されています。デフォルトでは、Auth0 は self sign-up の一環として作成された Database Connection の ID に対して、自動的に確認メールを送信します。また Auth0 では、ユーザー登録時に Social Provider によるメールアドレスの検証が行われない場合に確認メールを送信できる Management API endpoint も提供しています。ユーザーのブロック
Auth0 のユーザーアクセスのブロックでは、特定の条件下でユーザーがアプリケーションにログインできないようにできます。デフォルトでは、Auth0 Dashboard に、管理者がすべてのアプリケーションに対するユーザーアクセスをブロックおよびブロック解除できる標準の仕組みが用意されており、この機能は Auth0 Management API を使用して実装することもできます。また、Auth0 の拡張機能を利用して、特定のアプリケーションへのユーザーアクセスを無効化したり、よりきめ細かなアクセス制御を実現したりすることもできます。 さらに、Auth0 Management API では、誤った認証情報の入力が多すぎたために無効化されたユーザーのブロックを解除することもできます。ユーザーアカウントのリンク
既定では、各ユーザーIDに対して 1 つのユーザープロファイル (ユーザーアカウント) が存在します。Facebook や Google によるソーシャル認証と、Auth0 によるユーザー名とパスワードによる認証など、複数のIDプロバイダーからのログインを有効にすると、それぞれに個別のユーザープロファイルが作成されます。Auth0 のユーザーアカウントのリンク機能を使用すると、関連付けられたすべてのIDをまとめて、1 人のユーザーに対して 1 つのプロファイルを作成できます。 アカウントのリンク処理では、ユーザープロファイルを 2 つずつ統合します。このとき、リンク処理ではプライマリアカウントとセカンダリアカウントを指定する必要があります。ただし、リンクできるアカウント数は 1 組に限られません。たとえば、すでに複数のアカウントが統合されているアカウントをプライマリアカウントとして使用し、さらに別のセカンダリアカウントをリンクできます。つまり、1 つのユーザーアカウントに複数のIDを関連付けることができ、これには次のような利点があります。- ユーザーは、IDごとに別々のプロファイルを作成しなくても、複数のIDでログインできます。
- 登録済みユーザーは、新しいログインIDを使っても、既存のプロファイルを引き続き利用できます。
- ユーザーは、ログインに使用するIDに関係なく、自分のプロファイルを維持できます。
- ユーザーは、より多くのID情報を持つアカウントにリンクすることで、より完全なプロファイルを作成できます。
- アプリケーションでは、接続ごとのユーザープロファイルデータを取得できます。
アカウントの削除
アプリケーションでは、ユーザーからアカウント削除の依頼を受けた際に対応できるようにする必要がある場合があります (たとえば、GDPRの要件を満たす必要がある場合などです) 。こうした機能は、プロフィール関連のさまざまな機能とあわせて、Management APIを使って実装できます。Management APIを使用すると、ユーザーに関して保存されている情報を取得し、必要に応じて更新できます。 Auth0は、登録時に同意通知へのリンクを表示することや、ユーザーが自分について収集されたデータを閲覧・訂正する権利を保護するためのデータ保護など、プライバシーに関するさまざまな要件に対応できます。GDPRやその他のプライバシー関連の指令では、ユーザーが自分に関して保持されているデータを閲覧し、訂正する権利を持つことが求められています。また、「忘れられる権利」も認められています。これらの要件に対応し、法的義務を果たすために、Management APIを利用できます。