Skip to main content
Get User スクリプトは、ユーザーの存在状況を確認する際に実行される関数を実装します。この関数には getUser という名前を付けることをお勧めします。 このスクリプトは、Auth0 への自動移行に必要です。また、移行が有効でない場合は、接続に設定された操作に応じて必要になることがあります。Auth0 では、ユーザープロファイルで返す user_id を永続的かつ一貫したものにすることを強く推奨します。特定のユーザーについては、Get User スクリプトは実行のたびに同じ user_id を返す必要があります。詳細については、一貫した user_id を返すを参照してください。 Import Users to Auth0 が有効な場合、ユーザーがサインアップを試みると、外部ユーザーストアにそのユーザーがすでに存在するかどうかを確認するために Get User スクリプトが実行されます。 ユーザーが以下を試みる場合も、Get User スクリプトが実行されます。
  • メールアドレスを変更する (Change Email スクリプト)
  • ログインする (Login スクリプト)
  • パスワードを変更する (Change Password スクリプト)
Import Users to Auth0 が無効な場合も、ユーザーがサインアップを試みると、外部ユーザーストアにそのユーザーがすでに存在するかどうかを確認するために Get User スクリプトが実行されます。ユーザーがすでに外部ユーザーストアに存在する場合、Create スクリプトは実行されません。 ユーザーが以下を試みる場合も、Get User スクリプトが実行されます。
  • サインアップする  (Create スクリプト)
  • メールアドレスを変更する  (Change Email スクリプト)
  • パスワードを変更またはリセットする  (Change Password スクリプト)

Get User 関数

getUser 関数は、次の処理を行う必要があります。
  • ユーザーの識別子を外部データベースの API に送信する。
  • ユーザーが見つかった場合は、そのユーザーのプロファイルデータを返す。
  • ユーザーが存在するかどうかの判定時に問題が発生した場合は、エラーを返す。

定義

getUser 関数は2つのパラメータを受け取り、callback コールバック関数を返します。
これは、getUser 関数の実装方法を示した擬似Javascriptの例です。

コールバック関数

callback 関数は、ユーザープロファイルデータやエラーデータをパイプライン内で受け渡すために使用されます。

定義

callback 関数は最大2つのパラメータを受け取り、関数を返します。

ユーザープロファイルを返す (ユーザーが見つかった場合)

ユーザーについて Get User スクリプトが返すプロファイルデータは、Login スクリプトが返すプロファイルデータと一致している必要があります。
ユーザーが見つかった場合は、error パラメータに null を渡し、profile パラメータには正規化された形式のユーザーのプロファイルデータを渡します。
標準フィールドに加えて、user_metadataapp_metadatamfa_factors フィールドを含めることもできます。

常に同じ user_id を返す

Auth0 は、Get User スクリプトから返された user_id を使用して、テナント全体でユーザーを識別します。特定のユーザーについて、この値は常に同じである必要があります。Get User スクリプトは、そのユーザーに対して実行されるたびに同じ user_id を返す必要があります。user_id は、実行ごとに変化する値ではなく、ソースレコードの安定した永続的なプロパティ (データベースの主キーなど) から導出してください。
一貫性のない user_id を返すと、重複ユーザーや孤立したユーザーが作成され、識別子が安定していることを前提とするフローが機能しなくなる可能性があります。
user_id はソースレコードの安定したプロパティから導出し、同じユーザーが常に同じ値にマッピングされるようにしてください。
呼び出すたびに新しい、またはランダムな user_id を生成しないでください。たとえば、毎回新たに生成した UUID を返す場合です。そうすると、同じユーザーに対してスクリプトが実行されるたびに異なる識別子が生成されます。

ユーザープロファイルを返さない (ユーザーが見つからない場合)

ユーザーが見つからない場合は、error パラメータには null を渡し、profile パラメータは省略します:

エラーを返す

エラーが発生した場合は、問題の内容がわかる関連情報とともに、エラーデータを error パラメータに渡します。
詳しくは、カスタムデータベースのトラブルシューティングを参照してください。

言語別のスクリプト例

Auth0 では、以下の言語/テクノロジー向けのサンプルスクリプトを提供しています。