{"id":18886706,"url":"https://github.com/supabase-community/flutter-auth-ui","last_synced_at":"2025-05-16T19:04:03.839Z","repository":{"id":37800310,"uuid":"501079190","full_name":"supabase-community/flutter-auth-ui","owner":"supabase-community","description":"Supabase Auth UI library for Flutter","archived":false,"fork":false,"pushed_at":"2025-04-25T13:19:05.000Z","size":3531,"stargazers_count":130,"open_issues_count":13,"forks_count":67,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-05-16T04:16:26.821Z","etag":null,"topics":["authentication","dart","flutter","supabase"],"latest_commit_sha":null,"homepage":"https://supabase.com","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/supabase-community.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-08T02:57:38.000Z","updated_at":"2025-05-09T11:39:48.000Z","dependencies_parsed_at":"2024-04-13T01:26:23.789Z","dependency_job_id":"acb24e43-f27f-4a88-82ed-2344d1c05926","html_url":"https://github.com/supabase-community/flutter-auth-ui","commit_stats":{"total_commits":195,"total_committers":24,"mean_commits":8.125,"dds":0.6153846153846154,"last_synced_commit":"1d7c37caae7b274f54c07ee0ab4fe8517075e3ed"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supabase-community%2Fflutter-auth-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supabase-community%2Fflutter-auth-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supabase-community%2Fflutter-auth-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supabase-community%2Fflutter-auth-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/supabase-community","download_url":"https://codeload.github.com/supabase-community/flutter-auth-ui/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254592367,"owners_count":22097010,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["authentication","dart","flutter","supabase"],"created_at":"2024-11-08T07:30:12.972Z","updated_at":"2025-05-16T19:04:03.737Z","avatar_url":"https://github.com/supabase-community.png","language":"Dart","readme":"# flutter-auth-ui :iphone:\n\n\u003cp float=\"left\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/supabase/supabase/master/packages/common/assets/images/supabase-logo-wordmark--dark.png\"  width=\"60%\" height=\"50%\" /\u003e\n\u003c/p\u003e\nA simple library of predefined widgets to easily and quickly create auth components using Flutter and Supabase.\n\n![Supabase Auth UI](https://raw.githubusercontent.com/supabase-community/flutter-auth-ui/main/screenshots/supabase_auth_ui.png 'Supabase Auth UI Sample')\n\n## Email Auth\n\nUse a `SupaEmailAuth` widget to create an email and password signin/ signup form.\nIt also contains a button to toggle to display a forgot password form.\n\nYou can pass `metadataFields` to add additional fields to the signup form to pass as metadata to Supabase.\n\nYou need to setup deep links in your app to if you have enabled email confirmation. Learn more about deep links on the [supabase_flutter README](https://pub.dev/packages/supabase_flutter#deep-links).\n\n```dart\n// Create a Email sign-in/sign-up form\nSupaEmailAuth(\n  redirectTo: kIsWeb ? null : 'io.mydomain.myapp://callback',\n  onSignInComplete: (response) {\n    // do something, for example: navigate('home');\n  },\n  onSignUpComplete: (response) {\n    // do something, for example: navigate(\"wait_for_email\");\n  },\n  metadataFields: [\n    // Creates an additional TextField for string metadata, for example:\n    // {'username': 'exampleUsername'}\n    MetaDataField(\n      prefixIcon: const Icon(Icons.person),\n      label: 'Username',\n      key: 'username',\n      validator: (val) {\n        if (val == null || val.isEmpty) {\n          return 'Please enter something';\n        }\n        return null;\n      },\n    ),\n\n    // Creates a CheckboxListTile for boolean metadata, for example:\n    // {'marketing_consent': true}\n    BooleanMetaDataField(\n      label: 'I wish to receive marketing emails',\n      key: 'marketing_consent',\n      checkboxPosition: ListTileControlAffinity.leading,\n    ),\n    // Supports interactive text. Fields can be marked as required, blocking form\n    // submission unless the checkbox is checked.\n    BooleanMetaDataField(\n      key: 'terms_agreement',\n      isRequired: true,\n      checkboxPosition: ListTileControlAffinity.leading,\n      richLabelSpans: [\n        const TextSpan(\n            text: 'I have read and agree to the '),\n        TextSpan(\n          text: 'Terms and Conditions',\n          style: const TextStyle(\n            color: Colors.blue,\n          ),\n          recognizer: TapGestureRecognizer()\n            ..onTap = () {\n              // do something, for example: navigate(\"terms_and_conditions\");\n            },\n        ),\n        // Or use some other custom widget.\n        WidgetSpan()\n      ],\n    ),\n  ]),\n```\n\n## Magic Link Auth\n\nUse `SupaMagicAuth` widget to create a magic link signIn form. You need to setup deep links in your app to use magic link. Learn more about deep links on the [supabase_flutter README](https://pub.dev/packages/supabase_flutter#deep-links).\n\n```dart\nSupaMagicAuth(\n  redirectUrl: kIsWeb ? null : 'io.supabase.flutter://reset-callback/',\n  onSuccess: (Session response) {\n    // do something, for example: navigate('home');\n  },\n  onError: (error) {\n    // do something, for example: navigate(\"wait_for_email\");\n  },\n),\n```\n\n## Reset password\n\nUse `SupaResetPassword` to create a password reset form.\n\n```dart\nSupaResetPassword(\n  accessToken: supabase.auth.currentSession?.accessToken,\n  onSuccess: (UserResponse response) {\n    // do something, for example: navigate('home');\n  },\n  onError: (error) {\n    // do something, for example: navigate(\"wait_for_email\");\n  },\n),\n```\n\n## Social Auth\n\nUse `SupaSocialsAuth` to create list of social login buttons. You need to setup deep links in your app to use social auth. Learn more about deep links on the [supabase_flutter README](https://pub.dev/packages/supabase_flutter#deep-links).\n\n```dart\nSupaSocialsAuth(\n    socialProviders: [\n        OAuthProvider.apple,\n        OAuthProvider.google,\n    ],\n    colored: true,\n    redirectUrl: kIsWeb\n          ? null\n          : 'io.supabase.flutter://reset-callback/',\n    onSuccess: (Session response) {\n        // do something, for example: navigate('home');\n    },\n    onError: (error) {\n        // do something, for example: navigate(\"wait_for_email\");\n    },\n),\n```\n\n## Theming\n\nThis library uses bare Flutter components so that you can control the appearance of the components using your own theme.\nSee theme example in example/lib/sign_in.dart\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupabase-community%2Fflutter-auth-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsupabase-community%2Fflutter-auth-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupabase-community%2Fflutter-auth-ui/lists"}