Flutter: Listen to auth events

Receive a notification every time an auth event happens.

Examples

Listen to auth changes

final authSubscription = supabase.auth.onAuthStateChange.listen(
  (data) {
    final AuthChangeEvent event = data.event;
    final Session? session = data.session;
    // handle event
  },
  onError: (error, stackTrace) {
    // Network errors (e.g. offline) are emitted here.
    // Handle or log them to avoid an unhandled exception crash.
  },
);

Listen to a specific event

final authSubscription = supabase.auth.onAuthStateChange.listen(
  (data) {
    final AuthChangeEvent event = data.event;
    if (event == AuthChangeEvent.signedIn) {
      // handle signIn
    }
  },
  onError: (error, stackTrace) {
    // Handle or log network / auth errors here.
  },
);

Unsubscribe from auth subscription

final authSubscription = supabase.auth.onAuthStateChange.listen(
  (data) {},
  onError: (error, stackTrace) {},
);

authSubscription.cancel();