AuthCubit class
A base auth cubit that manages authentication state.
Handles token persistence, auth state transitions, and listens for auth failure events via INotifierService (e.g. from AuthInterceptor).
This cubit does NOT handle login — that's project-specific. Instead, call onAuthenticated after a successful login:
// In your login cubit or wherever login happens:
final tokens = await api.login(email, password);
authCubit.onAuthenticated(tokens);
To listen for auth failures from the network layer:
AuthCubit(
tokenStorage: tokenStorage,
notifier: notifierService,
authFailureKey: 'auth_failure', // must match what AuthInterceptor notifies
);
Constructors
- AuthCubit({required IAuthTokenStorage tokenStorage, INotifierService? notifier, String authFailureKey = 'auth_failure'})
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- isClosed → bool
-
Whether the bloc is closed.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- state → AuthState
-
The current state.
no setterinherited
-
stream
→ Stream<
AuthState> -
The current stream of states.
no setterinherited
Methods
-
addError(
Object error, [StackTrace? stackTrace]) → void -
Reports an
errorwhich triggersonErrorwith an optional StackTrace.inherited -
checkAuth(
) → Future< void> - Checks stored tokens and emits Authenticated or Unauthenticated. Call this on app startup.
-
close(
) → Future< void> - Closes the instance. This method should be called when the instance is no longer needed. Once close is called, the instance can no longer be used.
-
emit(
AuthState state) → void -
Updates the
stateto the providedstate.emitdoes nothing if thestatebeing emitted is equal to the currentstate.inherited -
logout(
) → Future< void> - Clears tokens and emits Unauthenticated.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
onAuthenticated(
TokenPair tokens) → Future< void> - Saves the token pair and emits Authenticated. Call this after a successful login.
-
onChange(
Change< AuthState> change) → void -
Called whenever a
changeoccurs with the givenchange. Achangeoccurs when a newstateis emitted.onChangeis called before thestateof thecubitis updated.onChangeis a great spot to add logging/analytics for a specificcubit.inherited -
onError(
Object error, StackTrace stackTrace) → void -
Called whenever an
erroroccurs and notifiesBlocObserver.onError.inherited -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited