supabase_auth_ui 0.0.1-dev.4 copy "supabase_auth_ui: ^0.0.1-dev.4" to clipboard
supabase_auth_ui: ^0.0.1-dev.4 copied to clipboard

UI library to implement auth forms using Supabase and Flutter

flutter-auth-ui 📱 #

A simple library of predefined widgets to easily and quickly create auth components using Flutter and Supabase.

⚠️ Developer Preview: This is a developer preview and there maybe some breaking changes until we release v1.0.0.

Supabase Auth UI

Email Auth #

Use a SupaEmailAuth widget to create an email and password signin/ signup form.

You can pass metadataFields to add additional fields to the signup form to pass as metadata to Supabase.

// Create a Signup form
SupaEmailAuth(
    authAction: AuthAction.signUp,
    redirectUrl: kIsWeb
          ? null
          : 'io.supabase.flutter://reset-callback/'
    onSuccess: (GotrueSessionResponse response) { 
        // do something, for example: navigate('home');
    },
    onError: (error) {
        // do something, for example: navigate("wait_for_email");
    },
    metadataFields: [
        MetaDataField(
            prefixIcon: const Icon(Icons.person),
            label: 'Username',
            key: 'username',
            validator: (val) {
                if (val == null || val.isEmpty) {
                return 'Please enter something';
                }
                return null;
            },
        ),
    ],
)
// Create a Signin form
SupaEmailAuth(
    authAction: AuthAction.signIn,
    redirectUrl: kIsWeb
          ? null
          : 'io.supabase.flutter://reset-callback/',
    onSuccess: (GotrueSessionResponse response) { 
        // do something, for example: navigate('home');
    },
    onError: (error) {
        // do something, for example: navigate("wait_for_email");
    },
)

Use SupaMagicAuth widget to create a magic link signIn form.

SupaMagicAuth(
    redirectUrl: kIsWeb
          ? null
          : 'io.supabase.flutter://reset-callback/',
    onSuccess: (Session response) { 
        // do something, for example: navigate('home');
    },
    onError: (error) {
        // do something, for example: navigate("wait_for_email");
    },
)

Reset password #

Use SupaResetPassword to create a password reset form.

SupaResetPassword(
    accessToken: session.accessToken,
    redirectUrl: kIsWeb
          ? null
          : 'io.supabase.flutter://reset-callback/',
    onSuccess: (GotrueUserResponse response) { 
        // do something, for example: navigate('home');
    },
    onError: (error) {
        // do something, for example: navigate("wait_for_email");
    },
)

Social Auth #

Use SupaSocialsAuth to create list of social login buttons.

SupaSocialsAuth(
    socialProviders: [
        SocialProviders.apple,
        SocialProviders.google,
    ],
    colored: true,
    redirectUrl: kIsWeb
          ? null
          : 'io.supabase.flutter://reset-callback/',
    onSuccess: (Session response) { 
        // do something, for example: navigate('home');
    },
    onError: (error) {
        // do something, for example: navigate("wait_for_email");
    },
)