diego-ninja / laravel-devices
This package provides session tracking functionalities, multi-session management and user device management features for laravel applications.
Fund package maintenance!
Ko Fi
paypal.me/diegorin
Requires
- php: ^8.2
- ext-json: *
- ext-pdo: *
- bacon/bacon-qr-code: ^3.0
- laravel/framework: ^10 || ^11
- matomo/device-detector: ^6.4
- nesbot/carbon: ^2 || ^3
- pragmarx/google2fa: ^8.0
- ramsey/uuid: ^4.7
Requires (Dev)
- ext-redis: *
- barryvdh/laravel-ide-helper: ^3.1
- friendsofphp/php-cs-fixer: ^3.21
- geoip2/geoip2: ^3.0
- larastan/larastan: ^2.0
- laravel/octane: ^2.5
- mockery/mockery: ^1.4.4
- pestphp/pest: ^2 || ^3
- squizlabs/php_codesniffer: ^3.7
- swoole/ide-helper: ~5.0.0
This package is auto-updated.
Last update: 2024-11-12 18:33:43 UTC
README
Laravel Devices is a comprehensive package for managing user devices and sessions in Laravel applications. It provides robust device tracking, session management, and security features including device fingerprinting and two-factor authentication support.
This is a work in progress, and maybe or maybe not be ready for production use. Help is needed to improve the project and write documentation so if you are interested in contributing, please read the contributing guide.
❤️ Features
- Authenticated User Devices
- Session Management
- Session blocking
- Session locking (Google 2FA support for session locking)
- Session location tracking
- Device verifying
- Custom id format for sessions and devices
- Application events
- Ready to use middleware, routes, controllers, dtos, value objects and resources
- Ready to use Google 2FA integration
- Cache support for devices, sessions, locations and user agents
- FingerprintJS and ClientJS integrations for device fingerprinting
🗓️ Planned features
- Device hijacking detection
- Livewire integrations for Laravel Jetstream and Laravel Breeze
- Laravel Pulse integration
📚 Documentation
Please refer to the documentation for more information on the features and how to use this package.
🙏 Credits
This project is developed and maintained by 🥷 Diego Rin in his free time.
Special thanks to:
- Laravel Framework for providing the most exciting and well-crafted PHP framework.
- Hamed Mehryar for developing the inital code that serves Laravel Devices as starting point.
- All the contributors and testers who have helped to improve this project through their contributions.
If you find this project useful, please consider giving it a ⭐ on GitHub!