Troubleshoot Custom Databases

Troubleshoot Custom Databases

You can use return errors resulting from your custom database connection for troubleshooting purposes. We will also cover some basic troubleshooting steps for your scripts.

Types of errors

You may receive different types of errors from a database connection:

Error Login Script Description
new WrongUsernameOrPasswordError(<email or user_id>, <message>) Login Occurs when the user's credentials are invalid. Passing no arguments or a falsey first argument will result in the error being logged as an fu event (invalid username/email) with an empty string for a user_id. Providing a truthy first argument will result in the error being logged as an fp event (the user exists, but the password is invalid) with a user_id value of auth0|<first argument>. To learn more, read Log Event Type Codes.
new ValidationError(<user_exists>, <message>) Create Occurs when a user already exists in your database
callback(<null>,<false>) Change Password Occurs when the user's password was not updated
callback(<null>) Get User Occurs when the user is not found
new UnauthorizedError(<message>) All Login Scripts Occurs when something went wrong while trying to reach the database
error code: auth0_idp_error; user already exists Create Occurs in legacy identity store when you attempt to create a user that already exists in your legacy identity store or in Auth0.
error code: auth0_idp_error; user already exists Delete Occurs in legacy identity store when you attempt to delete a user with custom database scripts. Error could also manifest as Error! There was a problem deleting user@example.com or Sandbox Error: Please implement the Delete script for this database connection at https://manage.auth0.com/#/connections/database.

Return errors

To return an error, call the callback function while passing error as the first parameter:

callback(error);

Was this helpful?

/

Example:

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

Was this helpful?

/

Returning errors when using Lock

If you use Lock, you can customize the error messages that will be displayed by adding them to the dictionary.

Troubleshooting errors

Test the script using the Try button.

If you do not get the expected result or you receive an error, install the Real-time Webtask Logs extension, use console.log() statements in your script, and try the connection again. The output of console.log() will print to the Real-time Webtask Logs window.

You may experience errors using action scripts to import, create, or delete users. Use console.logs to verify the error is a result of using action scripts. To learn more, read Custom Database Action Script Templates.