larasoft / password-expirable
It handles password expiry of users.
Requires
- php: ^8.0
- illuminate/support: ^9.18|^10.0
- schuppo/password-strength: ~2.7
Requires (Dev)
- phpunit/phpunit: >=5.4.3
- squizlabs/php_codesniffer: ^2.3
This package is not auto-updated.
Last update: 2024-11-14 18:29:40 UTC
README
Password Strength has following characteristics:
- It will allow your to set Expiry time of user password and send them reset emails.
- Version 1.0 for Laravel 5.1.x - 5.5.x
- Version 2.0 does support Laravel 9.x & 10.x
Install
Via Composer (v1.0)
$ composer require larasoft/password-expirable:1.0
Via Composer (v2.0)
$ composer require larasoft/password-expirable
You must include the service provider in config/app.php:
'providers' => [ ... Larasoft\PasswordExpiry\PasswordExpiryServiceProvider::class, ],
You need to migrate you database.
php artisan migrate
You can publish the config file with:
php artisan vendor:publish --provider="Larasoft\PasswordExpiry\PasswordExpiryServiceProvider" --tag="config"
When published, the config/password-expiry.php
config file contains:
return [ // # of Days: After which user password gets expired and user should receive password reset email/notification 'expiry_days' => 2, // Expiry message to send in password email/notification 'expiry_message' => 'It has been over :number days since you reset your password. Please update it now.', 'strong_password_rules' => 'case_diff|numbers|letters|symbols' ];
You can change it according to your needs.
Usage
- Include Following trait in User Model
use PasswordExpirable;
- You can get the datetime Carbon instance of "when the current password was set on user object"
$user->getCurrentPasswordSetTime();
- You can check if user password is expired?
$user->isPasswordExpired();
- You can protect your routes from user with expired password by adding following middleware into your app/Http/Kernel.php and applying it onto your required routes. You can change the name 'check-password-expired' how you like.
protected $routeMiddleware = [ ... 'check-password-expired' => CheckPasswordExpired::class ]
Change log
Please see CHANGELOG for more information on what has changed recently.
Testing
$ composer test
Contributing
Please see CONTRIBUTING and CODE_OF_CONDUCT for details.
Security
If you discover any security related issues, please email :author_email instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.