idle_logout 0.1.1
idle_logout: ^0.1.1 copied to clipboard
A Flutter package for handling idle user logout
๐ค
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.2
๐ Usage #
Basic Example #
import 'package:flutter/material.dart';
import 'package:idle_logout/idle_logout.dart';
import '../screens/home_screen.dart';
import '../screens/other_screen.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: IdleLogout(
timeout: const Duration(seconds: 10),
isLoggedIn: () => true, // Replace with your auth logic
isLockedOut: () => false,
lockedOutAction: () async {
debugPrint('User logged out due to inactivity');
await Navigator.of(context).pushReplacement(
MaterialPageRoute<void>(
builder: (BuildContext context) => const OtherScreen(),
),
);
},
child: 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.