SDK

Flutter SDK

authon_flutterFlutter 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.0
bash
flutter pub get

Setup

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');
Authon — Universal Authentication Platform