メインコンテンツへスキップ
カスタムデータベースからエラーが返されることがあります。トラブルシューティングのために、カスタムデータベース接続のAction スクリプトからエラーを返すこともできます。

カスタムデータベースのエラータイプ

データベース接続では、次のエラーが返されることがあります。
ErrorLogin ScriptDescription
new WrongUsernameOrPasswordError(
<email or user_id>, <message>
)
Loginユーザーの認証情報が無効な場合に発生します。引数を渡さない場合、または最初の引数が falsy の場合、エラーは user_id が空文字列の fu イベント (無効な username/メールアドレス) として記録されます。最初の引数に truthy な値を指定すると、エラーは user_id の値が auth0|<first_argument>fp イベント (ユーザーは存在するが、パスワードが無効) として記録されます。詳しくは、Log Event Type Codes を参照してください。
new ValidationError(
<user_exists>, <message>
)
Createユーザーがデータベースにすでに存在する場合に発生します。
callback(<null>,<false>)Change Passwordユーザーのパスワードが更新されなかった場合に発生します。
callback(<null>)Get Userユーザーが見つからない場合に発生します。
new UnauthorizedError(<message>)All Login Scriptsデータベースへの接続時に問題が発生した場合に発生します。カスタムデータベースからフロントエンドへエラーを返すための推奨される方法です。
new Error(<message>)All Login Scriptsデータベースへの接続時に問題が発生した場合に発生します。
error code: auth0_idp_error; user already existsCreateレガシー ID ストアまたは Auth0 にすでに存在するユーザーを作成しようとした場合に、レガシー ID ストアで発生します。
error code: auth0_idp_error; user already existsDeleteカスタムデータベーススクリプトを使用してユーザーを削除しようとした場合に、レガシー ID ストアで発生します。このエラーは、“Error! There was a problem deleting user@example.com” または “Sandbox Error: Please implement the Delete script for this database connection at https://manage.auth0.com/#/connections/database” と表示されることもあります。

エラーを返す

エラーを返すには、callback() 関数を呼び出し、第1引数として error を渡します。
callback(error);
例:
callback(new ValidationError('email-too-long', 'Email is too long.'));

Lock 使用時にエラーを表示する

Lock を使用している場合は、辞書に追加することでエラーメッセージをカスタマイズできます。

エラーのトラブルシューティング

Try ボタンを使ってスクリプトをテストします。 想定どおりの結果が得られない場合やエラーが発生した場合は、Actions Real-time Logs を使用し、スクリプトに console.log() ステートメントを追加して、接続を再度試してください。console.log() の出力は、Actions Real-time Logs ウィンドウに表示されます。 Action スクリプトを使用してユーザーのインポート、作成、削除を行うと、エラーが発生する場合があります。console.logs を使用して、エラーが Action スクリプトの使用に起因するものかどうかを確認してください。詳しくは、Custom Database Action Script Templates を参照してください。