idle_logout 0.1.3
idle_logout: ^0.1.3 copied to clipboard
A Flutter package for handling automatic user logout after a period of inactivity. Ideal for apps where session security and compliance are important (e.g., banking, healthcare, enterprise apps).
๐ค
Idle Logout
A Flutter package for handling automatic user logout after a period of inactivity. Ideal for apps where session security and compliance are important (e.g., banking, healthcare, enterprise apps).
โจ Features #
- โฑ๏ธ Detects user inactivity.
- ๐ช Logs out automatically after a configurable timeout.
- ๐ Resets the timer on user activity.
- ๐งฉ Simple and flexible API.
๐ฆ Installation #
Add to your project:
flutter pub add idle_logout
Or manually add to your pubspec.yaml:
dependencies:
idle_logout: ^0.1.3
๐ Usage #
Basic Example #
import 'package:flutter/material.dart';
import 'package:idle_logout/idle_logout.dart';
import '../../screens/home_screen.dart';
import 'screens/lock_screen.dart';
final GlobalKey<NavigatorState> navigatorKey = GlobalKey<NavigatorState>();
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return IdleLogout(
pauseThreshold: const Duration(seconds: 15),
timeout: const Duration(seconds: 10),
isLoggedIn: () => true,
isLockedOut: () => false,
lockedOutAction: () async {
debugPrint('User logged out due to inactivity');
navigatorKey.currentState?.pushReplacement(
MaterialPageRoute<void>(
builder: (BuildContext context) => const LockScreen(),
),
);
},
child: MaterialApp(navigatorKey: navigatorKey, home: const HomeScreen()),
);
}
}
๐งช Testing #
This package is set up with Very Good Analysis and Very Good Workflows.
Run tests with:
very_good test --coverage
Generate and view coverage:
genhtml coverage/lcov.info -o coverage/
open coverage/index.html
๐ License #
Licensed under the MIT License.