- ユーザー自身による情報更新
- 組織の利用規約に関する必須の更新
- 規制遵守に伴う変更
Normalized User Profile はログイン時に アイデンティティプロバイダー の情報で更新され、その中に含まれる限られた情報は Auth0 Management API を通じて変更できます。また、Actions などの Auth0 の拡張機能を代替手段として使い、Normalized User Profile 内の情報を上書きすることもできます。詳しくは User Profile Data Modification を参照してください。
- ユーザー体験のカスタマイズに役立つ情報を保存する必要がある場合、どうすべきでしょうか。
- 由来ではないユーザー情報を保存する必要がある場合はどうでしょうか。
- ユーザーが変更できないユーザー関連情報を保存する必要があるのはなぜでしょうか。
- ユーザーが変更できないユーザー関連情報を保存する必要がある場合は、どうすればよいでしょうか。
- ユーザーがパスワードを忘れた場合はどうなりますか。
- パスワードを変更したい場合、ユーザーはどうすべきでしょうか。
- サードパーティ組織の管理者に、自組織のユーザーを管理する機能をどのように提供しますか。
メタデータ
Auth0 のユーザープロファイルには、Normalized User Profile の情報に加えて、メタデータ を保存できます。メタデータ を使うと、アイデンティティプロバイダーに由来しない情報や、アイデンティティプロバイダーから提供された情報を上書きするための情報を保存できます。 メタデータ は、Auth0 Management API と Auth0 Authentication API の両方で操作できます。Normalized User Profile を管理する場合と同様に、Management API を使って メタデータ を操作するには、アクセストークン が必要です。ユーザーメタデータ
ユーザーメタデータ (user_metadata とも呼ばれます) とは、ユーザープロファイルに保存できる情報のことで、ユーザーはセルフサービスのプロファイル管理の一環としてこれを参照・更新できます。この種のメタデータには、ユーザーの敬称や、Auth0 から送信されるメールのカスタマイズに利用できる優先言語などが含まれます。
アプリのメタデータ
一方、アプリのメタデータ (app_metadataとも呼ばれます) は、ユーザープロフィールに保存できる情報ですが、適切な認可がある場合にのみ読み取りまたは更新が可能で、ユーザーがapp_metadataに直接アクセスすることはできません。この種のメタデータとしては、たとえばユーザーが最新の有効な利用規約に同意したことを示すフラグや、その同意日時などが挙げられます。
パスワードのリセット
パスワードを忘れたユーザーや、既存のセルフサービスの仕組みでパスワード変更が許可されているユーザー向けに、Auth0 は Password Reset 機能を提供しています。これは既存の実装に統合できるほか、Universal Login の一部として含まれる Auth0 の標準 UI ウィジェットにもあらかじめ組み込まれています。 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 には、ユーザーのアカウントを検証するために、そのユーザーのメールアドレスに 確認メール を送信する機能が標準で用意されています。デフォルトでは、self sign-up の一環として作成された Database Connection の ID に対して、Auth0 が自動的に確認メールを送信します。また、ユーザー登録時に Social Provider によるメールアドレスの検証が行われない場合に確認メールを送信できる Management API エンドポイント も用意されています。ユーザーのブロック
Auth0 におけるユーザーアクセスのブロックは、特定の条件下でユーザーがアプリケーションにログインできないようにするための機能です。デフォルトでは、Auth0 Dashboard に、管理者がすべてのアプリケーションに対するユーザーアクセスをブロックおよびブロック解除できる標準の仕組みが用意されており、この機能は Auth0 Management API を使って実装することもできます。さらに、Auth0 の拡張機能を使用して、特定のアプリケーションに対するユーザーアクセスを無効にすることや、よりきめ細かなアクセス制御を実現することもできます。 さらに、Auth0 Management API では、誤った認証情報の入力が多すぎたために無効化されたユーザーのブロックを解除することもできます。管理ポータル
管理ポータルは、新しいユーザーの作成、ユーザープロフィールの編集、ユーザーに関するアクティビティの確認などを行うためのアプリケーションです。このアプリケーションには、管理者のみがアクセスできるようにする必要があります。Auth0 には管理ダッシュボードが用意されていますが、意図せず Auth0 テナントを壊してしまうおそれのある操作が数多くあるため、多くの人に管理ダッシュボードへのアクセス権を与えることは推奨されません。代わりに、Auth0 では次の 2 つの選択肢を提供しています。- Auth0 Management API: Management API を使用すると、管理者がユーザーを管理できるアプリケーションを簡単に構築できます。これは、すでに管理者向けに利用している既存のアプリケーションに組み込むことも、現在のアプリケーションに合わせた UI を備えた新しいアプリケーションとして作成することもできます。
- Auth0 Delegated Administration Extension: この強力で柔軟な拡張機能を使うと、ユーザー管理のエクスペリエンスをカスタマイズできます。この拡張機能を調整することで、顧客側の管理者がログインし、自分の組織内のユーザーのみを表示および管理できるようにできます。