PhoneNumberPlugin<TContext> class final

Phone-number OTP authentication as an opt-in server plugin.

Implemented types

Constructors

PhoneNumberPlugin({required AuthPhoneNumberCodeSender<TContext> sendCode, required String codeHashKey, AuthPhoneNumberPolicy phoneNumberPolicy = const AuthE164PhoneNumberPolicy(), int codeLength = 6, Duration expiresIn = const Duration(minutes: 5), int allowedAttempts = 3, bool allowSignUp = false, AuthPhoneNumberUserFactory<TContext>? createUser, AuthPhoneNumberVerifiedCallback<TContext>? onVerified, String generateCode(int length)?})
Creates a phone-number plugin with an application-owned code sender.

Properties

allowedAttempts int
Maximum failed attempts allowed for one code.
final
allowSignUp bool
Whether an unknown phone number may create a user.
final
authenticationMethodKinds Set<AuthAuthenticationMethodKind>
Method kinds that this store can report authoritatively.
no setteroverride
authenticationMethodNamespace String
Stable namespace owned by this contributor.
no setteroverride
authenticationMethodStore Object
Store or coordinator that owns this contributor's method data.
no setteroverride
clientOperations Iterable<AuthClientOperationDescriptor>
Client operations declared by the plugin.
no setteroverride
codeLength int
Number of decimal digits in generated verification codes.
final
createUser AuthPhoneNumberUserFactory<TContext>?
Builds a candidate user when sign-up is enabled.
final
dataContract AuthServerPluginDataContract
Declares data and destructive routes owned by this plugin.
no setteroverride
endpoints Iterable<AuthEndpointDescriptor<TContext>>
Runtime endpoints contributed by the plugin.
no setteroverride
expiresIn Duration
Duration for which an issued code remains valid.
final
hashCode int
The hash code for this object.
no setterinherited
id String
Stable plugin identifier.
no setteroverride
onVerified AuthPhoneNumberVerifiedCallback<TContext>?
Callback invoked after the phone identity is committed.
final
persistenceSchemas Iterable<AuthPersistenceSchema>
Persistence schemas declared by the plugin.
no setteroverride
phoneNumberPolicy AuthPhoneNumberPolicy
Policy used to normalize and validate phone input.
final
rateLimitOperations Iterable<AuthRateLimitOperation>
Rate-limit operations declared by the plugin.
no setteroverride
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
sendCode AuthPhoneNumberCodeSender<TContext>
Callback that delivers each generated verification code.
final
userDataNamespace String
The namespace used for plugin-owned user data.
no setteroverride

Methods

authenticationMethodsForUser(String userId) Future<AuthAuthenticationMethodSnapshot>
Returns the usable methods for userId.
override
configure(AuthServerPluginContext<TContext> context) → void
Configures this plugin against the shared runtime context.
override
createUserDeletionPlan(AuthUser user) AuthUserDeletionPlan
Creates user deletion plan.
override
issueCode({required TContext context, required String phoneNumber, DateTime? now}) Future<AuthPhoneNumberCodeIssued>
Issues a verification code and delivers it through sendCode.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
removePhoneNumber({required String userId}) Future<void>
Removes the current phone identity only when another usable method remains.
toString() String
A string representation of this object.
inherited
verifyCode({required TContext context, required String phoneNumber, required String code, String? name, DateTime? now}) Future<AuthPhoneNumberSignInResult>
Verifies a code and returns the authenticated user.

Operators

operator ==(Object other) bool
The equality operator.
inherited