PassAudit is a powerful and efficient Laravel package designed to enhance the security of user passwords in your application. This package provides a comprehensive solution to prevent users from reusing their previous passwords, thereby mitigating the risk of unauthorized access.
You can install the package via Composer:
composer require kettasoft/pass-audit
- Register Service Provider
- Add the service provider to the config/app.php file in the providers array:
'providers' => [
Kettasoft\PassAudit\PassAuditServiceProvider::class,
...
],
Publish Configuration
- Publish the package configuration file:
php artisan vendor:publish --provider="Kettasoft\PassAudit\PassAuditServiceProvider" --tag="config"
- This will create a passaudit.php file in your config directory where you can customize the settings.
Publish Migration
- Publish the migration file:
php artisan vendor:publish --provider="Kettasoft\PassAudit\PassAuditServiceProvider" --tag="migrations"
Then, run the migration:
php artisan migrate
Use Trait in User Model
Add the PassAudit
trait to your User
model:
namespace App\Models;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Kettasoft\PassAudit\PassAudit;
class User extends Authenticatable
{
use PassAudit;
//...
}
Implement Interface to User Model
- Ensure your
User
model implements theHasPassAuditChecker
:
namespace App\Models;
use Kettasoft\PassAudit\Contracts\HasPassAuditChecker;
class User extends Authenticatable implements HasPassAuditChecker
{
//
}
Use Rule Validation in Request
- You can use the
PassAuditRule
in your request validation to prevent users from reusing their previous passwords:
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Kettasoft\PassAudit\Rules\PassAuditRule;
class UpdatePasswordRequest extends FormRequest
{
public function rules()
{
return [
'password' => ['required', 'string', 'min:8', new PassAuditRule($this->user())],
];
}
}
You can customize the behavior of the package by modifying the passaudit.php
configuration file. Options include:
- The number of previous passwords to keep track of
- The hashing algorithm to use
Thank you for considering contributing to PassAudit! Please read the contributing guide before making a pull request.
PassAudit is open-sourced software licensed under the MIT license.