appwrite_auth_ui 0.0.2 copy "appwrite_auth_ui: ^0.0.2" to clipboard
appwrite_auth_ui: ^0.0.2 copied to clipboard

UI library to implement auth forms using Appwrite and Flutter

Appwrite Auth UI

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

Disclaimer #

The newest version of the appwrite package is designed to work with Appwrite 1.4.0. Appwrite Cloud is currently using Appwrite 1.1.2. As a result, this package uses Appwrite 9.0.1. You can track the progress of this issue here.

Getting Started #

Create a config.json file in your assets folder and add the following fields:

{
  "APPWRITE_PROJECT_ID": "",
  "APPWRITE_MAGIC_LINK_URL": ""
}

Run your app using the following command:

flutter run --dart-define-from-file=assets/config.json

Email Auth #

Use a AppwriteEmailAuth widget to create an email and password signin/ signup form. It also contains a button to toggle to display a forgot password form.

AppwriteEmailAuth(
  redirectUrl: const String.fromEnvironment('APPWRITE_MAGIC_LINK_URL'),
  onSignInComplete: (response) {
    Navigator.of(context).pushReplacementNamed('/home');
  },
  onSignUpComplete: (response) {
    Navigator.of(context).pushReplacementNamed('/home');
  },
  metadataFields: [
    MetaDataField(
      prefixIcon: const Icon(Icons.person),
      label: 'Username',
      key: 'username',
      validator: (val) {
        if (val == null || val.isEmpty) {
          return 'Please enter something';
        }
        return null;
      },
    ),
  ],
),

Use AppwriteMagicAuth widget to create a magic link signIn form.

AppwriteMagicAuth(
     onSuccess: (response) {
        // do something, for example: 
        // Navigator.of(context).pushReplacementNamed('/home');
     },
     onError: (error) {
        // Do something with the error
     },
     redirectUrl: kIsWeb
     ? null
     : 'io.appwrite.flutterquickstart://login-callback',
),

Reset password #

Use AppwriteResetPassword to create a password reset form.

AppwriteResetPassword(                                   
  onError: (error) {                                     
    // Do something with the error                       
  },                                                     
  onSuccess: (response) {                                
    Navigator.of(context).pushReplacementNamed('/home');
  },                                                     
),                                                        

Social Auth #

Use AppwriteSocialsAuth to create list of social login buttons.

AppwriteSocialsAuth(
    colored: true,
    socialProviders: SocialProviders.values,
    onSuccess: (session) {
      Navigator.of(context).pushReplacementNamed('/home');
    },
    onError: (error) {
      // Do something with the error
    },
)

Theming #

This library uses bare Flutter components so that you can control the appearance of the components using your own theme.

2
likes
130
points
51
downloads
screenshot

Publisher

verified publishercodeontherocks.dev

Weekly Downloads

UI library to implement auth forms using Appwrite and Flutter

Homepage
Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

appwrite, email_validator, flutter, font_awesome_flutter

More

Packages that depend on appwrite_auth_ui