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

login 関数

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

定義

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

これは、login 関数の実装方法を示す擬似 JavaScript の例です。言語固有の例については、言語固有のスクリプト例を参照してください。

暗号化

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

コールバック関数

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

定義

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

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

ユーザーのログインスクリプトが返すプロファイルデータは、Get User スクリプトが返すプロファイルデータと整合している必要があります。
ユーザーの認証が成功した場合は、そのプロファイルデータを正規化された形式profile オブジェクトに含めて返す必要があります。標準フィールドに加えて、user_metadataapp_metadatamfa_factors フィールドを含めることもできます。

エラーを返す

エラーが発生した場合、error パラメーターには原因に関する適切な情報を含める必要があります。

WrongUsernameOrPasswordError 型のオブジェクト

WrongUsernameOrPasswordError カスタムエラー型オブジェクトを使用すると、テナントログに表示するデータを渡すことができます。
コンストラクタ
WrongUsernameOrPasswordError のコンストラクタは、最大 2 つのパラメーターを受け取ります。

username またはメールアドレス付きでエラーを返す

userNameOrEmail フィールドに値を指定してエラーを返すと、Auth0 は fp のテナントログイベントを記録します。

username またはメールアドレスなしでエラーを返す

userNameOrEmail フィールドの値を null にしてエラーを返すと、Auth0 は fu のテナントログイベントを記録します。

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

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

言語別のスクリプト例

Auth0 では、以下の言語/技術で使用できるサンプルスクリプトを提供しています。

JavaScript

ASP.NET Membership Provider (MVC3 - Universal Providers)

ASP.NET Membership Provider (MVC4 - Simple Membership)

MongoDB

MySQL

PostgreSQL

SQL Server

Windows Azure SQL Database

Axios

Stormpath

詳細情報