Official Clerk Flutter SDK (Beta)

Pub Version Pub Points chat on Discord documentation twitter

⚠️ The Clerk Flutter SDK is in Beta ⚠️

❗️ Breaking changes should be expected until the first stable release (1.0.0) ❗️

Clerk helps developers build user management. We provide streamlined user experiences for your users to sign up, sign in, and manage their profile from your Flutter code.

Requirements

  • Flutter >= 3.10.0
  • Dart >= 3.0.0

In Development

  • Organization support

Example Usage

To use this package you will need to go to your Clerk Dashboard create an application and copy the public and publishable API keys into your project.

/// Example App
class ExampleApp extends StatelessWidget {
  /// Constructs an instance of Example App
  const ExampleApp({super.key, required this.publishableKey});

  /// Publishable Key
  final String publishableKey;

  @override
  Widget build(BuildContext context) {
    return ClerkAuth(
      config: ClerkAuthConfig(publishableKey: publishableKey),
      child: MaterialApp(
        theme: ThemeData.light(),
        debugShowCheckedModeBanner: false,
        home: Scaffold(
          body: SafeArea(
            child: ClerkErrorListener(
              child: ClerkAuthBuilder(
                signedInBuilder: (context, authState) {
                  return const ClerkUserButton();
                },
                signedOutBuilder: (context, authState) {
                  return const ClerkAuthentication();
                },
              ),
            ),
          ),
        ),
      ),
    );
  }
}

License

This SDK is licensed under the MIT license found in the LICENSE file.

Libraries

clerk_flutter
Package that will allow you to authenticate and use Clerk from Flutter code.
logging
Enables the example code to use the clerk_auth logging facility