Password Expiry for Laravel 9.x | 10.x
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, (*1)
Install
Via Composer (v1.0), (*2)
``` bash
$ composer require larasoft/password-expirable:1.0, (*3)
Via Composer (v2.0)
``` bash
$ composer require larasoft/password-expirable
You must include the service provider in config/app.php:, (*4)
'providers' => [
...
Larasoft\PasswordExpiry\PasswordExpiryServiceProvider::class,
],
You need to migrate you database., (*5)
php artisan migrate
You can publish the config file with:, (*6)
php artisan vendor:publish --provider="Larasoft\PasswordExpiry\PasswordExpiryServiceProvider" --tag="config"
When published, the config/password-expiry.php config file contains:, (*7)
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., (*8)
Usage
- Include Following trait in User Model
``` php
use PasswordExpirable;
* You can get the datetime Carbon instance of "when the current password was set on user object"
``` php
$user->getCurrentPasswordSetTime();
- You can check if user password is expired?
``` php
$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.
``` php
protected $routeMiddleware = [
...
'check-password-expired' => CheckPasswordExpired::class
]
Change log
Please see CHANGELOG for more information on what has changed recently., (*9)
Testing
bash
$ composer test, (*10)
Contributing
Please see CONTRIBUTING and CODE_OF_CONDUCT for details., (*11)
Security
If you discover any security related issues, please email :author_email instead of using the issue tracker., (*12)
Credits
License
The MIT License (MIT). Please see License File for more information., (*13)