SDK
Flutter SDK
authon_flutter — Flutter SDK with native OAuth WebView, secure token storage, and authentication state management.
Installation
pubspec.yaml
dependencies:
authon_flutter: ^1.0.0
flutter_secure_storage: ^9.0.0bash
flutter pub getSetup
lib/main.dart
import 'package:flutter/material.dart';
import 'package:authon_flutter/authon_flutter.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Authon.initialize(
publishableKey: 'pk_live_your_key',
redirectScheme: 'myapp',
);
runApp(const MyApp());
}Usage
lib/home_screen.dart
import 'package:flutter/material.dart';
import 'package:authon_flutter/authon_flutter.dart';
class HomeScreen extends StatelessWidget {
const HomeScreen({super.key});
@override
Widget build(BuildContext context) {
return AuthonBuilder(
builder: (context, state) {
if (state.isLoading) {
return const CircularProgressIndicator();
}
if (state.isSignedIn) {
return Column(
children: [
Text('Welcome, ${state.user!.displayName}!'),
ElevatedButton(
onPressed: () => Authon.instance.signOut(),
child: const Text('Sign out'),
),
],
);
}
return ElevatedButton(
onPressed: () => Authon.instance.openSignIn(context),
child: const Text('Sign in'),
);
},
);
}
}OAuth Sign In
dart
// Open OAuth provider in WebView
await Authon.instance.signInWithOAuth(context, provider: 'google');
await Authon.instance.signInWithOAuth(context, provider: 'github');