getUser という名前を付けることをお勧めします。
このスクリプトは、Auth0 への自動移行に必要です。また、移行が有効でない場合は、接続に設定された操作に応じて必要になることがあります。Auth0 では、ユーザープロファイルで返す user_id を永続的かつ一貫したものにすることを強く推奨します。特定のユーザーについては、Get User スクリプトは実行のたびに同じ user_id を返す必要があります。詳細については、一貫した user_id を返すを参照してください。
Import Users to Auth0 が有効な場合、ユーザーがサインアップを試みると、外部ユーザーストアにそのユーザーがすでに存在するかどうかを確認するために Get User スクリプトが実行されます。
ユーザーが以下を試みる場合も、Get User スクリプトが実行されます。
- メールアドレスを変更する (Change Email スクリプト)
- ログインする (Login スクリプト)
- パスワードを変更する (Change Password スクリプト)
- サインアップする (Create スクリプト)
- メールアドレスを変更する (Change Email スクリプト)
- パスワードを変更またはリセットする (Change Password スクリプト)
Get User 関数
getUser 関数は、次の処理を行う必要があります。
- ユーザーの識別子を外部データベースの API に送信する。
- ユーザーが見つかった場合は、そのユーザーのプロファイルデータを返す。
- ユーザーが存在するかどうかの判定時に問題が発生した場合は、エラーを返す。
定義
getUser 関数は2つのパラメータを受け取り、callback コールバック関数を返します。
これは、
getUser 関数の実装方法を示した擬似Javascriptの例です。
コールバック関数
callback 関数は、ユーザープロファイルデータやエラーデータをパイプライン内で受け渡すために使用されます。
定義
callback 関数は最大2つのパラメータを受け取り、関数を返します。
ユーザープロファイルを返す (ユーザーが見つかった場合)
error パラメータに null を渡し、profile パラメータには正規化された形式のユーザーのプロファイルデータを渡します。
user_metadata、app_metadata、mfa_factors フィールドを含めることもできます。
常に同じ user_id を返す
user_id を使用して、テナント全体でユーザーを識別します。特定のユーザーについて、この値は常に同じである必要があります。Get User スクリプトは、そのユーザーに対して実行されるたびに同じ user_id を返す必要があります。user_id は、実行ごとに変化する値ではなく、ソースレコードの安定した永続的なプロパティ (データベースの主キーなど) から導出してください。
一貫性のない
user_id を返すと、重複ユーザーや孤立したユーザーが作成され、識別子が安定していることを前提とするフローが機能しなくなる可能性があります。user_id はソースレコードの安定したプロパティから導出し、同じユーザーが常に同じ値にマッピングされるようにしてください。
user_id を生成しないでください。たとえば、毎回新たに生成した UUID を返す場合です。そうすると、同じユーザーに対してスクリプトが実行されるたびに異なる識別子が生成されます。
ユーザープロファイルを返さない (ユーザーが見つからない場合)
error パラメータには null を渡し、profile パラメータは省略します:
エラーを返す
error パラメータに渡します。