Official Clerk Flutter SDK (Pre-release Alpha)
⚠️ The Clerk Flutter SDK is in Alpha and not recommended for use in production. ⚠️
❗️ 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.24.0
- Dart >= 3.5.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.
class MainApp extends StatefulWidget {
const MainApp({
super.key,
required this.publicKey,
required this.publishableKey,
});
final String publicKey;
final String publishableKey;
@override
State<MainApp> createState() => _MainAppState();
}
class _MainAppState extends State<MainApp> {
final persistor = const _Persistor();
@override
Widget build(BuildContext context) {
return MaterialApp(
home: ClerkAuth(
publicKey: widget.publicKey,
publishableKey: widget.publishableKey,
persistor: persistor,
child: Scaffold(
backgroundColor: ClerkColors.whiteSmoke,
body: Padding(
padding: horizontalPadding32,
child: Center(
child: ClerkAuthBuilder(
signedInBuilder: (context, auth) => const ClerkUserButton(),
signedOutBuilder: (context, auth) => const ClerkAuthenticationWidget(),
),
),
),
),
),
);
}
}
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