AuthUsernameIdentifierPolicy class final
Strict policy for username canonicalization and email intent resolution.
Any input containing @ is treated exclusively as email intent. An invalid
email therefore never falls back to the username namespace. Usernames can
never contain @, even when a custom allowed-character expression would
otherwise accept it.
Constructors
- AuthUsernameIdentifierPolicy({AuthUsernameCaseCanonicalization caseCanonicalization = AuthUsernameCaseCanonicalization.lowercase, int minimumLength = 3, int maximumLength = 32, String allowedCharactersPattern = '[a-z0-9._-]', bool requireDottedEmailDomain = true})
- Creates username and email validation rules.
Properties
- allowedCharactersPattern → String
-
Regular-expression character class allowed in usernames.
final
- caseCanonicalization → AuthUsernameCaseCanonicalization
-
Case transformation applied to usernames.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- maximumLength → int
-
Maximum username length in Unicode code points.
final
- minimumLength → int
-
Minimum username length in Unicode code points.
final
- requireDottedEmailDomain → bool
-
Whether email domains must contain a dot-separated suffix.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
normalizeEmail(
String input) → String? -
Normalizes an email identifier, or returns
nullwhen it is invalid. -
normalizeUsername(
String input) → String? -
Normalizes a username, or returns
nullwhen it is invalid. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
resolve(
String input) → AuthUsernameIdentifier? -
Resolves
inputinto its unambiguous username or email namespace. -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited