これらの文書の内容は法的助言を目的としたものではなく、法的支援に代わるものでもありません。GDPRを理解し、これを遵守する最終的な責任はお客様にありますが、Auth0は可能な限りGDPR要件への対応を支援します。
同意を求める
user_metadata の合計サイズは 16 MB に制限されています。詳しくは、Metadata Field Names and Data Types を参照してください。
Lock を使用する
mustAcceptTerms Lock オプションで実現できます。このプロパティを true に設定すると、サインアップ前にチェック必須のチェックボックスが利用規約とあわせて表示されます。利用規約は languageDictionary オプションを使って指定できます。詳しくは、Lock Configuration Options をお読みください。
ユーザーが同意してサインアップしたら、初回ログイン時に実行される ルール を使って、user_metadata に同意情報を保存します。ルールの詳細については、Auth0 Rules をお読みください。
サインアップ時にユーザーからさらに多くの情報を取得したい場合で、データベース接続を使用してユーザーを認証しているなら、Lock UI にカスタムフィールドを追加できます。これは additionalSignUpFields Lock オプションで実現できます。カスタムフィールドはすべて自動的に user_metadata に追加されます。
ソーシャルログインを使用している場合、カスタムフィールドを追加することはできませんが、ユーザーを別のページにリダイレクトして、そこで同意や追加情報を求めたあと、認証トランザクションを完了するために再度リダイレクトして戻すことができます。これはリダイレクト ルールで実現できます。詳しくは、Redirect Users from Within Rules をお読みください。サインアップ処理が完了したら、 の Update User エンドポイント を呼び出して、user_metadata に同意情報を保存します。
これらのシナリオの実装方法については、GDPR: Track Consent with Lock をお読みください。
カスタムUIを使用する
user_metadata の一部として設定できます。
または、SPA から auth0.js を使用している場合は、signup メソッドを使用して、Auth0 にユーザーを作成し、同意情報を user_metadata の一部として設定できます。
ソーシャルプロバイダーを使用するカスタムのサインアップフォームでは、サインアップ時にユーザーの同意情報を設定することはできませんが、ユーザーが作成されしだい更新できます。Management API の Update User エンドポイント を呼び出して、同意情報を user_metadata に保存してください。
これらのシナリオの実装方法については、GDPR: カスタムUIで同意を追跡する を参照してください。
再同意とユーザー移行
- ユーザーデータの利用方法、利用期間、ユーザーの権利などについて、ユーザーに表示する通知を作成するとともに、UI のサインアップボックスをカスタマイズします。
- 以前の利用規約やこれまでのプライバシー認証を踏まえて、ユーザーに再同意が必要かどうかを判断します。
同意を追跡する
user_metadata の一部として保存できます。同意したかどうかを示す flag のみを保存することも、同意情報と設定一式 (たとえば、ユーザーが同意した日付や同意した条件などを含む) を保存することもできます。その後、この情報には Management API を使用してアクセスし、操作できます。
Management API には、ユーザー検索、ユーザーのメタデータを更新するためのエンドポイント、ユーザーを一括エクスポートするための機能に関しても、いくつかの選択肢があります。
Management API にアクセスするには、が必要です。Management API 用のアクセストークンを取得する方法については、Management API Access Tokens を参照してください。
メールアドレスでユーザーを検索する
user_metadata に設定します。これにより、完全なユーザープロファイルではなく、user_metadata のみが返されます。
リクエストの例:
レスポンスの例:
IDでユーザーを検索する
user_metadata に設定します。これにより、完全なユーザープロファイルではなく、user_metadata のみが返されます。
リクエストの例:
レスポンスの例:
同意情報を更新する
user_metadataを更新するには、ユーザーを更新 エンドポイントを使用します。
リクエストの構成方法は、メタデータをルートプロパティとして持たせているか、内部プロパティとして持たせているかによって異なります。
メタデータがルートプロパティとして保存されている場合:
ルートプロパティの更新
01/23/2018 に設定するとします。
これにより、ユーザープロファイルに新しいプロパティ user_metadata.consentDate が追加され、顧客が同意した日付がそこに保存されます。レスポンスにはユーザープロファイル全体が返されます。更新後のメタデータは次のようになります:
内部プロパティを更新する
01/23/2018 に設定してみましょう。
これにより、ユーザープロファイルに user_metadata.consent.date という新しいプロパティが追加され、顧客が同意した日付がそこに格納されます。レスポンスにはユーザープロファイル全体が返されます。更新後のメタデータは次のようになります。
同意情報をエクスポートする
job が作成されます。接続の ID が必要です。この ID を確認するには、Get Connections エンドポイントを使用します (name パラメーターに接続名を設定すると、その接続のみを取得できます) 。
接続 ID と Management API 用のアクセストークンを取得したら、ユーザーのエクスポートを開始できます。リクエストとレスポンスの例については、Import and Export Usersを参照してください。Management API 用のアクセストークンの取得方法については、Management API Access Tokensを参照してください。
また、次のことも必要です。
- 同意をどのように追跡するかを決めます。ユーザーが同意した日付だけでなく、ユーザーが同意した利用規約のバージョン情報も含めることをお勧めします。また、許可を撤回したユーザーに関する情報を保持するための配列を用意することもお勧めします (ユーザーは同意と撤回を複数回行う可能性があることに注意してください) 。
- 同意をどこに保存するかを決めます。Auth0 のデータベースに保存するか、それ以外の場所に保存するかを選択してください。
同意の撤回
ユーザーを削除する
ユーザーに削除済みフラグを付ける
プロファイルにフラグを設定する
フラグが付けられたユーザーのログインを無効にする
- Auth0 Dashboard > Auth Pipeline > Rules に移動し、ルールを作成します。
-
以下のスクリプトをコピーします。
このスクリプトでは次の処理を行います。
- deleted メタデータプロパティ (
user.app_metadata.deleted) の値を確認します。 user.app_metadata.deleted = trueの場合、アプリにAccess denied (deleted user)エラーを返します。
- deleted メタデータプロパティ (
- ルールに名前を付けて、変更を保存します。
- 同意撤回の仕組みが十分に細かく設定されていることを確認します。
- 顧客が同意を撤回できる箇所をアプリ内に設けます。