AuthController class
Central auth controller. Handles both AuthMethod.phone and AuthMethod.email.
Delegates each domain to a focused mixin:
- Phone OTP flow →
_PhoneAuthMixin - Email + password →
_EmailAuthMixin - Password reset / change →
_PasswordMixin - Session management →
_SessionMixin - Invite acceptance →
_InviteMixin
Inject via: ref.watch(authControllerProvider)
State: AuthState
- Annotations
-
- @Riverpod.new(keepAlive: true)
Constructors
Properties
- dio → Dio
-
The authenticated
Dioinstance. Available synchronously after build. Consumed by dioProvider.no setter - hashCode → int
-
The hash code for this object.
no setterinherited
- ref → Ref
-
The
Refassociated with this notifier.no setterinherited - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- state ↔ AuthState
-
The value currently exposed by this notifier.
getter/setter pairinherited
- stateOrNull → AuthState?
-
The value currently exposed by this
Notifier.no setterinherited
Methods
-
build(
) → AuthState -
changePassword(
{required String currentPassword, required String newPassword}) → Future< bool> -
inherited
-
clearError(
) → void - Clears any existing error from the state.
-
forgotPassword(
String email) → Future< bool> -
inherited
-
getSessions(
) → Future< List< AuthSession> > -
Returns all active sessions for the current user.
inherited
-
listenSelf(
void listener(AuthState? previous, AuthState next), {void onError(Object error, StackTrace stackTrace)?}) → RemoveListener -
Listens to changes on the value exposed by this provider.
inherited
-
loginWithEmail(
{required String email, required String password}) → Future< bool> -
inherited
-
loginWithToken(
String phoneGrantToken) → Future< bool> -
Step 3a: Login an existing user using the temp token from
verifyOtp.inherited -
logout(
) → Future< void> -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
registerWithEmail(
EmailRegisterRequest request) → Future< bool> -
inherited
-
registerWithPhone(
PhoneRegisterRequest request) → Future< bool> -
Step 3b: Register a new user via the phone OTP flow.
inherited
-
resendOtp(
String sessionToken) → Future< OtpData?> -
Step 2b: Resend OTP to the same session.
inherited
-
resetPassword(
{required String token, required String newPassword}) → Future< bool> -
inherited
-
resetPasswordViaPhone(
{required String phoneGrantToken, required String newPassword}) → Future< bool> -
inherited
-
revokeSession(
String sessionId) → Future< bool> -
Revokes a specific session by ID.
inherited
-
runBuild(
) → void -
Executes
Notifier.build.inherited -
sendOtp(
String phone) → Future< OtpData?> -
Step 1: Send OTP to the given phone number.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
updateShouldNotify(
AuthState previous, AuthState next) → bool -
A method invoked when the state exposed by this
Notifierchanges. It compares the previous and new value, and return whether listeners should be notified.inherited -
verifyOtp(
{required String verificationId, required String code}) → Future< PhoneLookupResult?> -
Step 2: Verify OTP code. Returns a PhoneLookupResult indicating
whether this is a login (existing user) or registration (new user).
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited