Enum Class SigninResult
- All Implemented Interfaces:
IEnumLocaleString, Serializable, Comparable<SigninResult>, Constable
Enum for user sign in result.
Text IDs used by the SigninResult
Text ID English text ---------------------- ------------------------------------------------------------------------------------------------------ userauth.success Success. userauth.success_not_signed_in Success, but you need to sign in to proceed. userauth.success.change_password Success, change of password needed. userauth.invalid_password Invalid password. userauth.too_many_invalid_logins_retry_later Too many invalid logins. Please retry later. userauth.too_many_invalid_logins_retry_later_next_time_disable Too many invalid logins. Please retry later. Upon next failure, your user will be disabled. userauth.invalid_password_next_attempt_will_disable Invalid password. Upon next failure, your user will be disabled. userauth.disabled Your user has been disabled, please contact your app supplier. userauth.invalid_user Invalid user name. userauth.invalid_user_or_password Invalid user name or password. userauth.user_name_taken User name taken, cannot sign up. userauth.app_id_not_found Application ID is not found. userauth.app_disabled The application is disabled. userauth.app_access_denied You are not allowed to use this application. userauth.server_not_started Server not started. userauth.server_starting Server is starting. userauth.server_stopped Server is stopped. userauth.server_stopping Server is stopping. userauth.server_login_disabled Sign-in to the server is currently disabled. userauth.signup_disabled Sign-up is not enabled. userauth.invalid_reset_link The password reset link is invalid or has expired. userauth.password_change_not_allowed Your password cannot be changed. userauth.success.second_factor_required Success, a second step is needed to sign in. userauth.success.passkey_required Success, sign in with your passkey to proceed. userauth.success.passkey_enrolment_required Success, create a passkey to proceed. userauth.second_factor_required A second step is needed to sign in. userauth.invalid_code Invalid code. userauth.too_many_codes Too many invalid codes. Please retry later. userauth.pending_expired Signing in took too long. Please sign in again. userauth.second_factor_not_enrolled Two-step verification is not set up. userauth.second_factor_already_enrolled Two-step verification is already set up. userauth.second_factor_method_not_allowed This method is not available. userauth.invalid_passkey The passkey was not accepted. userauth.passkey_request_expired The passkey request has expired. Please try again. userauth.passkeys_not_available Passkeys are not available. userauth.recent_signin_required Please confirm it is you to proceed. userauth.invalid_email Enter a valid email address. userauth.email_taken This email address is already in use. userauth.email_change_not_allowed The email address cannot be changed. userauth.mail_not_sent_no_address The mail was not sent: the account has no email address. userauth.mail_not_sent_no_relay The mail was not sent: this server has no mail service configured. userauth.mail_not_sent_refused The mail was not sent: the mail service refused it or could not be reached. userauth.mail_not_sent_no_link The mail was not sent: the server has no address to build its link on. userauth.mail_sent_recently A mail was sent a moment ago. It can be sent again in a few minutes. userauth.address_shared Several accounts use this email address. Sign in with your user name. userauth.system_failure A system failure occurred when authenticating your user.
- Author:
- Christopher Mindus
Nested Class Summary
Nested classes/interfaces inherited from class Enum
Enum.EnumDesc<E>Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionThe sign-in named an e-mail address that SEVERAL accounts hold (EM-D-1, CC-FIX-SIGNIN-ACCOUNT-MAIL: a shared address is allowed): the user signs in with the user name.The user may not use the application: no enabled group of the user is one the application allows (T1-139, CC-SERVER-USERS-APP-ACCESS).The application is disabled.Application ID is not found.The e-mail address of the account cannot be changed this way (IUserAuthenticationUI.requestEmailChange, CC-ACCOUNT-EMAIL-PASSWORD): the account is an external Sign In Provider's, or its user name IS its address (a change is then a rename of the account, which is out of scope; the SignIn module does not offer the change there).The e-mail address is registered to another account, compared without regard to case (IUserAuthenticationUI.requestEmailChange, CC-ACCOUNT-EMAIL-PASSWORD).The verification code or the recovery code is not valid, or it was used before (SignIn L-6).The e-mail address has not the form of an address (IUserAuthenticationUI.requestEmailChange, CC-ACCOUNT-EMAIL-PASSWORD): one "@" with something before it and a domain with a dot after it, no space, at most 254 characters.The passkey was not accepted: the one answer for every credential that is refused, whatever the reason - unknown, another user's, not made for this challenge, this origin or this application, without user verification, or with a signature that does not verify.Invalid password.User has too many invalid logins: retry later, but next time, the user will be disabled upon a failure.The password reset link is not this server's, was altered, was used already (or the password changed since it was sent), or has expired (CC-LOGIN-SERVER-CORE).Invalid user name.Invalid user name or passwordA mail the user asked for was not sent: the account has no e-mail address (IUserAuthenticationUI.resendVerificationMail, CC-FIX-SIGNIN-ACCOUNT-MAIL).A mail the user asked for was not sent: no link could be built for it, because neither the client session nor the server configuration gives a base URL (CC-FIX-SIGNIN-ACCOUNT-MAIL, R-145: the one case left without a base).A mail the user asked for was not sent: the server has no mail sender configured, or its sender has no default address (CC-FIX-SIGNIN-ACCOUNT-MAIL).A mail the user asked for was not sent: the mail relay refused it, could not be reached, or did not accept it for delivery (CC-FIX-SIGNIN-ACCOUNT-MAIL).A mail the user asked for was not sent because one went to the account a moment ago: the earlier mail is the one to open (CC-FIX-SIGNIN-ACCOUNT-MAIL; one mail per account per interval, as before, but said).There is no passkey request to answer: none was started for the client session, it was answered already, or its time ran out.Passkeys are not available: the application does not offer them, its relying party ID is not known, or the user has the most passkeys a user may have (CC-LOGIN-L8-PASSKEYS).The password cannot be changed: it is fixed by the administrator (CC-LOGIN-SERVER-CORE).No sign-in of this session waits for a second factor: there was none, it has expired, or too many invalid codes ended it.A change of a sign-in method requires a recent sign-in: the session is not signed in, or its user was authenticated too long ago.The account has a second factor of this method already; it is removed before another one is enrolled (SignIn L-6).The sign-in policy of the application does not have this method of a second factor, or the server cannot do it (SignIn L-6).The account has no second factor of this method, or no enrolment of one was begun in this session (SignIn L-6).The password is right and the account has a second factor: a REFUSAL, and whatUserAuthentication.validateUseranswers every caller with.Sign-in to the server is currently disabled.Server is not started.Server is starting.Server is stopped.Server is stopping.Sign-up with the internal login provider is not enabled on the server: the server setting$signIn.selfSignUpis off, its default (CC-LOGIN-SERVER-CORE).Validation succeeded.Validation succeeded, but user has to change password.Validation succeeded for the user, but as no password has been verified, it is assumed that the user is not signed in yet.The password was accepted, but the user is NOT signed in yet: the sign-in policy requires a passkey on this client, and the user has none.The password was accepted, but the user is NOT signed in yet: the sign-in policy requires a passkey on this client, and the user has one.The first factor passed - the password is right - and a second factor is due: the account has one, or the policy requires one.System failure.The account waits after its invalid codes: the code was not looked at (SignIn L-6).User has too many invalid logins: retry later.User has too many invalid logins: retry later.User is disabled.User name taken, cannot sign up.Field Summary
FieldsMethod Summary
Modifier and TypeMethodDescriptionGets the result a sign-in answers its client with, so that nothing in the answer tells an unknown user name from a wrong password, from a disabled account, or from an account held back by its failed attempts: every refusal that is about the account becomesINVALID_USER_OR_PASSWORD.formatText(IAppSessionGyro appGyro, Object... params) Formats the text from the text table using the current language settings with specified parameters.Gets the fallback String.getID()Gets the text ID.getText(IAppSessionGyro appGyro) Gets the text from text table using current language setting.booleanReturns if the sign-in waits for one more step before the user is signed in: the password was accepted, and NOTHING is recorded in the session yet.booleanReturns if the login is successful, even if e.g.booleanReturns if the user must change password.static SigninResultReturns the enum constant of this class with the specified name.static SigninResult[]values()Returns an array containing the constants of this enum class, in the order they are declared.Methods inherited from class Enum
clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOfMethods inherited from interface IEnumLocaleString
asString, asString, asString, name, ordinal, valuesList
Enum Constant Details
SUCCESS
Validation succeeded.SUCCESS_NOT_SIGNED_IN
Validation succeeded for the user, but as no password has been verified, it is assumed that the user is not signed in yet.SUCCESS_CHANGE_PASSWORD
Validation succeeded, but user has to change password.INVALID_PASSWORD
Invalid password.TOO_MANY_INVALID_LOGINS_RETRY_LATER
User has too many invalid logins: retry later.TOO_MANY_INVALID_LOGINS_RETRY_LATER_NEXT_TIME_DISABLE
User has too many invalid logins: retry later. A failure next time will disable the user.INVALID_PASSWORD_NEXT_ATTEMPT_WILL_DISABLE
User has too many invalid logins: retry later, but next time, the user will be disabled upon a failure.USER_DISABLED
User is disabled.INVALID_USER
Invalid user name.INVALID_USER_OR_PASSWORD
Invalid user name or passwordUSER_NAME_TAKEN
User name taken, cannot sign up.APP_ID_NOT_FOUND
Application ID is not found.APP_DISABLED
The application is disabled.APP_ACCESS_DENIED
The user may not use the application: no enabled group of the user is one the application allows (T1-139, CC-SERVER-USERS-APP-ACCESS). Answered only after the credentials were right - or for a validation without a password - soforClient()returns it as it is: a user who is not allowed an application is told so, not that the password is wrong.SERVER_NOT_STARTED
Server is not started.SERVER_STARTING
Server is starting.SERVER_STOPPING
Server is stopping.SERVER_STOPPED
Server is stopped.SERVER_LOGIN_DISABLED
Sign-in to the server is currently disabled.SIGNUP_DISABLED
Sign-up with the internal login provider is not enabled on the server: the server setting$signIn.selfSignUpis off, its default (CC-LOGIN-SERVER-CORE).INVALID_RESET_LINK
The password reset link is not this server's, was altered, was used already (or the password changed since it was sent), or has expired (CC-LOGIN-SERVER-CORE).PASSWORD_CHANGE_NOT_ALLOWED
The password cannot be changed: it is fixed by the administrator (CC-LOGIN-SERVER-CORE).SUCCESS_SECOND_FACTOR_REQUIRED
The first factor passed - the password is right - and a second factor is due: the account has one, or the policy requires one. It is whatIUserAuthenticationUIanswers the SignIn module with: a success of the first step, after which NO user is signed in and nothing is recorded in the session; the sign-in waits, andIUserAuthenticationSecondFactor.verifySecondFactor, or the enrolment the policy requires, completes it (SignIn L-6; decision D-10 of the SignIn flow design).Pending.SUCCESS_PASSKEY_REQUIRED
The password was accepted, but the user is NOT signed in yet: the sign-in policy requires a passkey on this client, and the user has one. The sign-in waits, bound to the client session, forIUserAuthenticationPasskeys.finishPasskeyAssertion; nothing is recorded in the session until then (CC-LOGIN-L8-PASSKEYS).Pending.SUCCESS_PASSKEY_ENROLMENT_REQUIRED
The password was accepted, but the user is NOT signed in yet: the sign-in policy requires a passkey on this client, and the user has none. The sign-in waits, bound to the client session, forIUserAuthenticationPasskeys.finishPasskeyRegistration; nothing is recorded in the session until then (CC-LOGIN-L8-PASSKEYS). A user who has a second factor has passed it before this is answered: the second step itself answers with it then.Pending.SECOND_FACTOR_REQUIRED
The password is right and the account has a second factor: a REFUSAL, and whatUserAuthentication.validateUseranswers every caller with. A path that cannot ask for a second factor - the entry URL of a session,app.json, the license system - signs nobody in with it; onlyIUserAuthenticationUIgoes on from it, toSUCCESS_SECOND_FACTOR_REQUIRED(SignIn L-6).It is also the answer to a change of the second factor - its removal, new recovery codes - in a session whose sign-in verified none, as the one of a trusted device: the user signs in with the second step first (CC-SIGNIN-MERGE-L5-L6-L8).
INVALID_CODE
The verification code or the recovery code is not valid, or it was used before (SignIn L-6).TOO_MANY_CODES
The account waits after its invalid codes: the code was not looked at (SignIn L-6).PENDING_EXPIRED
No sign-in of this session waits for a second factor: there was none, it has expired, or too many invalid codes ended it. The user begins again, with the first factor (SignIn L-6).SECOND_FACTOR_NOT_ENROLLED
The account has no second factor of this method, or no enrolment of one was begun in this session (SignIn L-6).SECOND_FACTOR_ALREADY_ENROLLED
The account has a second factor of this method already; it is removed before another one is enrolled (SignIn L-6).SECOND_FACTOR_METHOD_NOT_ALLOWED
The sign-in policy of the application does not have this method of a second factor, or the server cannot do it (SignIn L-6).INVALID_PASSKEY
The passkey was not accepted: the one answer for every credential that is refused, whatever the reason - unknown, another user's, not made for this challenge, this origin or this application, without user verification, or with a signature that does not verify. The reason is in the server log (CC-LOGIN-L8-PASSKEYS).PASSKEY_REQUEST_EXPIRED
There is no passkey request to answer: none was started for the client session, it was answered already, or its time ran out. The client starts a new one (CC-LOGIN-L8-PASSKEYS).PASSKEYS_NOT_AVAILABLE
Passkeys are not available: the application does not offer them, its relying party ID is not known, or the user has the most passkeys a user may have (CC-LOGIN-L8-PASSKEYS).RECENT_SIGNIN_REQUIRED
A change of a sign-in method requires a recent sign-in: the session is not signed in, or its user was authenticated too long ago. The user confirms with the password or with a passkey (IUserAuthenticationPasskeys.reauthenticate) and tries again (CC-LOGIN-L8-PASSKEYS, G-8 of the SignIn flow design). It is the one recent sign-in of the interface: a change of a passkey and a change of the second factor both answer with it (CC-SIGNIN-MERGE-L5-L6-L8).INVALID_EMAIL
The e-mail address has not the form of an address (IUserAuthenticationUI.requestEmailChange, CC-ACCOUNT-EMAIL-PASSWORD): one "@" with something before it and a domain with a dot after it, no space, at most 254 characters.EMAIL_TAKEN
The e-mail address is registered to another account, compared without regard to case (IUserAuthenticationUI.requestEmailChange, CC-ACCOUNT-EMAIL-PASSWORD). NEVER ANSWERED since EM-D-1 (CC-FIX-SIGNIN-ACCOUNT-MAIL, 2026-10-20): a shared address is allowed, several accounts may carry one address. The constant stays for the stability of the enum (its ordinal,valueOfin the licence client).EMAIL_CHANGE_NOT_ALLOWED
The e-mail address of the account cannot be changed this way (IUserAuthenticationUI.requestEmailChange, CC-ACCOUNT-EMAIL-PASSWORD): the account is an external Sign In Provider's, or its user name IS its address (a change is then a rename of the account, which is out of scope; the SignIn module does not offer the change there).MAIL_NOT_SENT_NO_ADDRESS
A mail the user asked for was not sent: the account has no e-mail address (IUserAuthenticationUI.resendVerificationMail, CC-FIX-SIGNIN-ACCOUNT-MAIL). The fiveMAIL_*results are answered as they are: the user asked for a mail and reads what became of it, never "sent" for a mail that did not go.MAIL_NOT_SENT_NO_RELAY
A mail the user asked for was not sent: the server has no mail sender configured, or its sender has no default address (CC-FIX-SIGNIN-ACCOUNT-MAIL).MAIL_NOT_SENT_REFUSED
A mail the user asked for was not sent: the mail relay refused it, could not be reached, or did not accept it for delivery (CC-FIX-SIGNIN-ACCOUNT-MAIL). The reason is in the server log.MAIL_NOT_SENT_NO_LINK
A mail the user asked for was not sent: no link could be built for it, because neither the client session nor the server configuration gives a base URL (CC-FIX-SIGNIN-ACCOUNT-MAIL, R-145: the one case left without a base).MAIL_SENT_RECENTLY
A mail the user asked for was not sent because one went to the account a moment ago: the earlier mail is the one to open (CC-FIX-SIGNIN-ACCOUNT-MAIL; one mail per account per interval, as before, but said).ADDRESS_SHARED
The sign-in named an e-mail address that SEVERAL accounts hold (EM-D-1, CC-FIX-SIGNIN-ACCOUNT-MAIL: a shared address is allowed): the user signs in with the user name. Answered as it is, at the password step, before any password is checked (R-27).SYSTEM_FAILURE
System failure.
Field Details
englishMessage
The English text message.textID
The text ID for the message, starts with "userauth.".
Method Details
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum class has no constant with the specified nameNullPointerException- if the argument is null
isSuccessful
public boolean isSuccessful()Returns if the login is successful, even if e.g. password must be changed.A result that
is pendingis successful too, and signs nobody in: it is the success of the first of two steps. OnlyIUserAuthenticationUIanswers with one.- Returns:
- true for SUCCESS and SUCCESS_CHANGE_PASSWORD, and for a sign-in that waits for one more step (
isPending()), false otherwise.
isPending
public boolean isPending()Returns if the sign-in waits for one more step before the user is signed in: the password was accepted, and NOTHING is recorded in the session yet. The one question for every sign-in that waits, whatever it waits for - the second factor of the account or its enrolment (SUCCESS_SECOND_FACTOR_REQUIRED), a passkey (SUCCESS_PASSKEY_REQUIRED) or the registration of one (SUCCESS_PASSKEY_ENROLMENT_REQUIRED).- Returns:
- true for SUCCESS_SECOND_FACTOR_REQUIRED, SUCCESS_PASSKEY_REQUIRED and SUCCESS_PASSKEY_ENROLMENT_REQUIRED, false otherwise.
mustChangePassword
public boolean mustChangePassword()Returns if the user must change password.- Returns:
- true if user must change password to continue, i.e. SUCCESS_CHANGE_PASSWORD, false otherwise.
forClient
Gets the result a sign-in answers its client with, so that nothing in the answer tells an unknown user name from a wrong password, from a disabled account, or from an account held back by its failed attempts: every refusal that is about the account becomesINVALID_USER_OR_PASSWORD. A result about the server or the application (not started, stopping, sign-in disabled, application not found or disabled, a system failure), and every successful result, is returned as it is. The real reason is in the server log (CC-LOGIN-SERVER-CORE; D-19 of the SignIn survey: no enumeration).- Returns:
- The result to answer the client with, never null.
getID
Gets the text ID.- Specified by:
getIDin interfaceIEnumLocaleString- Returns:
- The text ID string.
getFallback
Gets the fallback String.- Specified by:
getFallbackin interfaceIEnumLocaleString- Returns:
- The fallback string.
getText
Gets the text from text table using current language setting.- Parameters:
appGyro- The Application Gyro instance.- Returns:
- The localized string.
formatText
Formats the text from the text table using the current language settings with specified parameters.- Parameters:
appGyro- The Application Gyro instance.params- The parameters.- Returns:
- The localized string.