Skip to main content
Login スクリプトは、ユーザーの認証が必要になるたびに実行される関数を実装します。この関数名は login にすることをお勧めします。 このスクリプトは、レガシー認証と自動移行の両方で必要です。接続で自動移行が設定されている場合、ユーザーが初めて正常にログインした後に移行プロセスがトリガーされます。重複ユーザーの作成を避けるため、Auth0 では返されるユーザープロファイルに永続的な user_id を設定することを推奨しています。

Login 関数

login 関数では、次の処理を行う必要があります。
  • 指定されたユーザーの資格情報を外部データベースの API に送信する。
  • 認証に成功した場合は、ユーザーのプロファイルデータを返す。
  • 認証に失敗した場合は、エラーを返す。

定義

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

暗号化

データ漏洩を防ぐため、bcrypt などの暗号学的ハッシュ関数ライブラリを使用して password の値をハッシュ化します。暗号化されていないパスワード認証情報は、ログに記録、保存、転送しないでください。例:

コールバック関数

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

定義

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

ユーザープロファイルを返す

ユーザーに対して Login スクリプトが返すプロファイルデータは、Get User スクリプトが返すプロファイルデータと一致している必要があります。
ユーザーの認証に成功した場合は、正規化形式profile オブジェクトでそのプロファイルデータを返す必要があります。例:

WrongUsernameOrPasswordError 型オブジェクト

WrongUsernameOrPasswordError カスタムエラー型オブジェクトを使用すると、テナントログに表示されるデータを渡すことができます。 WrongUsernameOrPasswordError のコンストラクタは、最大2つのパラメータを受け取ります。
標準フィールドに加えて、user_metadataapp_metadatamfa_factors フィールドを含めることができます。

エラーを返す

エラーが発生した場合、error パラメータには原因に関する情報を含める必要があります。 たとえば、userNameOrEmail フィールドに値を指定してエラーを返すことができます。
この場合、Auth0 は fp テナントログイベントを記録します。 userNameOrEmail フィールドに null を指定してエラーを返すこともできます。
この場合、Auth0 は fu テナントログイベントを記録します。

ログインのたびにユーザープロファイル属性を同期する

ログインのたびに外部データベースから返される値で Auth0 が namenicknamegiven_namefamily_namepicture フィールドを更新するようにするには、Sync user profile attributes at each login 設定を有効にします。 この設定を有効にしない場合、ユーザーが初回ログイン時に外部データベースから返された値は、その後のログイン時にも保持され、外部データベース側で変更されていても反映されません。

言語別のスクリプト例

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