Skip to main content
ユーザー取得スクリプトは、現在ユーザーが存在しているかどうかを確認するために実行する関数を実装します。この関数の名前は getUserにすることをお勧めします。 このスクリプトは、Auth0への自動移行に必須です。また、移行を有効にしていない場合は、接続に構成された操作によっては必須となります。Auth0では、ユーザープロファイルで返すuser_idを永続的かつ一貫したものにすることを強く推奨しています。つまり、同じユーザーについて、ユーザー取得スクリプトを実行するたびに同じuser_idを返す必要があります。詳しくは、一貫性のあるuser_idを返すをご覧ください。 Auth0にユーザーをインポート]が有効になっている場合、ユーザーがサインアップを試みたときに、外部ユーザーストアにそのユーザーがすでに存在するかどうかを確認するために、ユーザー取得スクリプトが実行されます。 また、ユーザーが以下を試みたときにもユーザー取得スクリプトが実行されます。 Auth0にユーザーをインポート]が無効になっている場合も、ユーザーがサインアップを試みたときに、外部ユーザーストアにそのユーザーがすでに存在するかどうかを確認するためにユーザー取得スクリプトが実行されます。外部ユーザーストアにユーザーがすでに存在する場合、作成スクリプトは実行されません。 また、ユーザーが以下を試みたときにもユーザー取得スクリプトが実行されます。

ユーザー取得関数

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

定義

getUser関数は2つのパラメーターを受け取り、callback関数を返します。
以下は、getUser 関数の実装方法を示す疑似JavaScriptの例です。

コールバック関数

callback関数は、パイプラインを介してユーザープロファイルデータまたはエラーデータを渡すのに使用されます。

定義

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

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

ユーザー取得スクリプトがユーザーについて返すプロファイルデータは、ログインスクリプトが返すプロファイルデータと一貫性がなければなりません。
ユーザーが見つかった場合には、null値をerror パラメーターに渡し、ユーザーのプロファイルデータを正規化された形式profileパラメーターに渡します。
標準フィールドに加えて、user_metadataapp_metadatamfa_factorsフィールドを含めることもできます。

一貫性のあるuser_idを返す

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

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

ユーザーが見つからなかった場合には、null値をerrorパラメーターに返し、profileパラメーターを省略します。

エラーを返す

エラーが発生した場合には、何が起きたかについての関連情報を含むエラーデータをerrorパラメーターに渡します。
詳細については、「カスタムデータベースのトラブルシューティング」をご覧ください。

言語別のスクリプトの例

Auth0では、以下の言語やテクノロジーで使用できるサンプルスクリプトを提供しています。