flutter_okta_auth_sdk 0.1.0+1 copy "flutter_okta_auth_sdk: ^0.1.0+1" to clipboard
flutter_okta_auth_sdk: ^0.1.0+1 copied to clipboard

This Flutter Okta Auth SDK library helps you to add authentication in your Flutter apps. It is a wrapper around Okta Android and Okta iOS.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:flutter_okta_auth_sdk/base_request.dart';
import 'landing_screen.dart';
import 'login_screen.dart';
import 'main_screen.dart';
import 'services/auth_okta_service.dart';
import 'services/okta_auth_provider.dart';
import 'splash_screen.dart';
import 'config/configure_nonweb.dart' if (dart.library.html) 'config/configure_web.dart';

import 'dart:js' as js;
import 'dart:html';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  configureApp();
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return OktaAuthProvider(
      authService: AuthOktaService(),
      child: MaterialApp(
        initialRoute: LoginScreen.routeName,
        onGenerateRoute: (setting) {
          debugPrint("setting name is ${setting.name}");
          if (setting.name!.contains("callback?code=")) {
            var request = AuthOktaService.oktaBaseRequest;

            final config = convertBaseRequestToMap(request);
            config['codeValue'] = window.location.href.split("=")[1].split('&')[0];

            js.context.callMethod('loginTokenOkta', [config]);
            window.addEventListener("message", (event) {
              MessageEvent accessToken = event as MessageEvent;
              if (accessToken.data != null && accessToken.data != "") {
                debugPrint("token is ${accessToken.data}");
              }
            });
            return null;
          }
          return null;
        },
        theme: ThemeData(primarySwatch: Colors.blue),
        // home: const LoginScreen(),
        routes: {
          SplashScreen.routeName: (ctx) => const SplashScreen(),
          MainScreen.routeName: (ctx) => const MainScreen(),
          LoginScreen.routeName: (ctx) => const LoginScreen(),
          LandingScreen.routeName: (ctx) => const LandingScreen(),
        },
      ),
    );
  }
}
12
likes
150
points
88
downloads

Publisher

unverified uploader

Weekly Downloads

This Flutter Okta Auth SDK library helps you to add authentication in your Flutter apps. It is a wrapper around Okta Android and Okta iOS.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter, flutter_web_plugins

More

Packages that depend on flutter_okta_auth_sdk