larasoft/password-expirable

It handles password expiry of users.

2.0 2023-08-24 11:53 UTC

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.