idle_logout 1.0.0+1 copy "idle_logout: ^1.0.0+1" to clipboard
idle_logout: ^1.0.0+1 copied to clipboard

Automatic inactivity-based logout for secure Flutter applications.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:idle_logout/idle_logout.dart';
import 'package:idle_logout_sample/utils.dart';

import '../../screens/home_screen.dart';
import 'screens/lock_screen.dart';

final navigatorKey = GlobalKey<NavigatorState>();

void main() {
  runApp(const MyApp());
}

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

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  Widget build(BuildContext context) {
    return IdleLogout(
      pauseThreshold: const Duration(seconds: 15),
      timeout: const Duration(seconds: 10),
      isLoggedIn: isLoggedIn,
      isLockedOut: isLockedOut,
      lockedOutAction: lockedOutAction,
      child: MaterialApp(navigatorKey: navigatorKey, home: const HomeScreen()),
    );
  }

  Future<void> lockedOutAction() async {
    debugPrint('User logged out due to inactivity');
    LocalStorage.isLockedOut = true;

    await navigatorKey.currentState?.pushReplacement(
      MaterialPageRoute<void>(builder: (_) => const LockScreen()),
    );
  }

  Future<bool> isLoggedIn() async {
    // write your in-app logic for checking if your app is logged in
    return LocalStorage.userLoggedIn;
  }

  Future<bool> isLockedOut() async {
    // write your in-app logic for checking if your app is locked out
    return LocalStorage.isLockedOut;
  }
}
3
likes
160
points
122
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Automatic inactivity-based logout for secure Flutter applications.

Homepage
Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter

More

Packages that depend on idle_logout