BloomSupabaseAuthAdapter class
Official Bloom authentication adapter for Supabase with real token refresh support.
Integrates with BloomAuth to provide reactive authentication state signals (currentUser, isAuthenticated).
Example:
final auth = BloomSupabaseAuthAdapter(
supabaseUrl: 'https://xyz.supabase.co',
supabaseAnonKey: 'anon-key-here',
);
await auth.signInWithPassword(email: 'user@example.com', password: 'secret');
- Inheritance
-
- Object
- BloomAuth<
BloomSupabaseUser> - BloomSupabaseAuthAdapter
Constructors
- BloomSupabaseAuthAdapter({required String supabaseUrl, required String supabaseAnonKey, SupabaseClient? supabaseClient, BloomStorageAdapter? storage, String sessionKey = 'bloom_supabase_session'})
- Creates a BloomSupabaseAuthAdapter.
Properties
-
currentUser
→ ReadonlySignal<
BloomSupabaseUser?> -
Reactive signal containing the currently authenticated user model, or
nullif unauthenticated.no setterinherited -
fromJson
→ BloomSupabaseUser Function(Map<
String, dynamic> json)? -
Deserializer function converting JSON maps to typed user model instances.
finalinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
-
isAuthenticated
→ ReadonlySignal<
bool> -
Reactive boolean signal indicating whether an active authenticated session exists.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- sessionKey → String
-
Key identifier used when writing session data into storage (defaults to
'bloom_auth_session').finalinherited - storage → BloomStorageAdapter?
-
Optional persistent storage adapter for caching session state across application restarts.
finalinherited
- supabaseAnonKey → String
-
Supabase anonymous API key.
final
- supabaseClient → SupabaseClient?
-
Optional live
sb.SupabaseClientinstance to observe real-time auth changes.final - supabaseUrl → String
-
Base Supabase backend URL.
final
-
toJson
→ Map<
String, dynamic> Function(BloomSupabaseUser user)? -
Serializer function converting typed user model instances to JSON maps.
finalinherited
-
token
→ ReadonlySignal<
String?> -
Reactive signal containing the current authentication bearer token, or
nullif unauthenticated.no setterinherited
Methods
-
dispose(
) → Future< void> - Cancel auth state listeners and release resources.
-
login(
String token, BloomSupabaseUser user) → Future< void> -
Logs in the user, setting the active
tokenandusersession.inherited -
logout(
) → Future< void> -
Clears the active user session and purges persistent session storage.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
refreshSession(
) → Future< BloomSupabaseUser?> - Refresh the active Supabase session using the stored refresh token.
-
restoreSession(
) → Future< bool> -
Restores user session from persistent storage on application startup.
inherited
-
setSession(
{required BloomSupabaseUser user, required String token}) → Future< void> -
Sets the active user
userandtokensession, and persists it to storage if configured.inherited -
signInWithPassword(
{required String email, required String password}) → Future< BloomSupabaseUser> - Sign in with email and password via Supabase Auth API.
-
signUp(
{required String email, required String password, Map< String, dynamic> ? data}) → Future<BloomSupabaseUser> - Sign up a new user via Supabase Auth API.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited