error_reasons.rdoc

doc/error_reasons.rdoc
Last Update: 2021-12-20 12:15:42 -0800

Error Reasons

Rodauth allows for customizing response status codes and error messages for each type of error. However, in some cases, the response status code is too coarse for desired error handling by the application (since many error types use the same status code), and using the error message is too fragile since it may be translated.

For this reason, Rodauth associates a fine grained reason for each type of error. If an error occurs in Rodauth, it will call the set_error_reason method with a symbol for the specific type of error. By default, this method does not do anything, but you can use the set_error_reason configuration method to customize the error handling.

These are the currently supported error type symbols that Rodauth will call set_error_reason with:

  • :account_locked_out

  • :already_an_account_with_this_login

  • :already_an_unverified_account_with_this_login

  • :duplicate_webauthn_id

  • :inactive_session

  • :invalid_email_auth_key

  • :invalid_otp_auth_code

  • :invalid_otp_secret

  • :invalid_password

  • :invalid_password_pattern

  • :invalid_phone_number

  • :invalid_previous_password

  • :invalid_recovery_code

  • :invalid_remember_param

  • :invalid_reset_password_key

  • :invalid_sms_code

  • :invalid_sms_confirmation_code

  • :invalid_unlock_account_key

  • :invalid_verify_account_key

  • :invalid_verify_login_change_key

  • :invalid_webauthn_auth_param

  • :invalid_webauthn_remove_param

  • :invalid_webauthn_setup_param

  • :invalid_webauthn_sign_count

  • :login_not_valid_email

  • :login_required

  • :login_too_long

  • :login_too_many_bytes

  • :login_too_short

  • :logins_do_not_match

  • :no_current_sms_code

  • :no_matching_login

  • :not_enough_character_groups_in_password

  • :otp_locked_out

  • :password_authentication_required

  • :password_contains_null_byte

  • :password_does_not_meet_requirements

  • :password_in_dictionary

  • :password_is_one_of_the_most_common

  • :password_same_as_previous_password

  • :password_too_long

  • :password_too_many_bytes

  • :password_too_short

  • :passwords_do_not_match

  • :same_as_current_login

  • :same_as_existing_password

  • :session_expired

  • :sms_already_setup

  • :sms_locked_out

  • :sms_needs_confirmation

  • :sms_not_setup

  • :too_many_repeating_characters_in_password

  • :two_factor_already_authenticated

  • :two_factor_need_authentication

  • :two_factor_not_setup

  • :unverified_account

  • :webauthn_not_setup