カスタムデータベースのトラブルシューティング

カスタムデータベース接続で返されるエラーは、トラブルシューティングのために使用できます。また、スクリプト用のベーシックなトラブルシューティングの手順もご紹介します。

エラーの種類

データベース接続からは、さまざまな種類のエラーが返されます。

エラー ログインスクリプト 説明
new WrongUsernameOrPasswordError(<email or user_id>, <message>) ログイン ユーザーの資格情報が無効な場合に発生します。引数が渡されないか、最初の引数が不正な場合には、fuイベント(無効なユーザー名またはメールアドレス)としてuser_idに空の文字列を含むエラーがログに記録されます。渡された最初の引数が正しい場合には、fpイベント(ユーザーが存在し、パスワードが不正)としてuser_idauth0|<first argument>を含むエラーがログに記録されます。詳細については、「ログイベントタイプのコード」を参照してください。
new ValidationError(<user_exists>, <message>) 作成 ユーザーがすでにデータベースに存在する場合に発生します。
callback(<null>,<false>) パスワード変更 ユーザーのパスワードが更新されなかった場合に発生します。
callback(<null>) ユーザー取得 ユーザーが見つからなかった場合に発生します。
new UnauthorizedError(<message>) すべて データベースへのアクセス中に問題が起きた場合に発生します。カスタムデータベースからフロントエンドにエラーを戻して伝えるときに推奨される方法です。
new Error(<message>) すべて データベースへのアクセス中に問題が起きた場合に発生します。
error code: auth0_idp_error; user already exists 作成 独自のレガシーIDストアまたはAuth0に既存のユーザーを作成しようとすると、レガシーIDストアで発生します。
error code: auth0_idp_error; user already exists 削除 カスタムデータベーススクリプトを使ってユーザーを削除しようとすると、レガシーIDストアで発生します。次のエラーで表されることもあります:Error! There was a problem deleting user@example.com(エラー!user@example.comの削除中に問題が発生しました)またはSandbox Error: Please implement the Delete script for this database connection at https://manage.auth0.com/#/connections/database(Sandboxエラー:このデータベース接続に削除スクリプトを実装してください。)

エラーを返す

エラーを返すには、callback関数を呼び出して、errorを最初のパラメーターとして渡します。

callback(error);

Was this helpful?

/

例:

callback(new ValidationError('email-too-long', 'Email is too long.'));

Was this helpful?

/

Lockの使用時にエラーを返す

ロックの使用では、辞書に追加することで、表示されるエラーメッセージをカスタマイズすることができます。

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

スクリプトをテストするには、[Try(試す)]ボタンを使用します。

期待していた結果が得られなかった場合や、エラーを受け取った場合には、Real-time Webtask Logs(リアルタイムWebtaskログ)拡張機能をインストールして、スクリプトにconsole.log()ステートメントを使ってから、接続をもう一度試してください。[Real-time Webtask Logs(リアルタイムWebtaskログ)]ウィンドウにconsole.log()の出力が表示されます。

ユーザーをインポート・作成・削除するアクションスクリプトを使用すると、エラーが起きることがあります。console.logsを使って、エラーがアクションスクリプトの使用に起因するかどうかを調べます。詳細については、「カスタムデータベースのアクションスクリプトテンプレート」をお読みください。