lukapeharda / laravel-password-setup
Send password setup notification to users created through API
Requires
- php: >=7.0
- laravel/framework: ^5.7
This package is auto-updated.
Last update: 2024-12-17 21:15:58 UTC
README
Package for Laravel PHP framework which enables sending of email notifications to users (created through API) to setup password.
Consider this scenario: you are creating users through your API endpoint and after receiving their email and creating a user in the DB you want them to create their own password (because generating one for them and sending it through email is bad).
This package allows you to trigger an event which will be listened to by the built-in listener and send an email notification (using Laravel Notification) with a generated URL link with a password setup token. Token generated is the same as the one generated by the Laravel for resetting passwords. Views are provided as well (using Bootstrap v4).
Installation
Install it using composer:
composer require lukapeharda/laravel-password-setup
The service provider will be auto-discovered.
Consider publishing the package to override config or view:
php artisan vendor:publish
and select appropriate package from list of provided ones
Usage
By default, package is set to listen to LukaPeharda\LaravelPasswordSetup\Events\UserCreated
(which accepts a $user
model) and then via LukaPeharda\LaravelPasswordSetup\Listeners\SendNotification
listener sends a LukaPeharda\LaravelPasswordSetup\Notifications\SetPassword
notification (with generated token) to provided user.
The user will receive an email with a link to a screen where he needs to enter (and confirm) his new password. After entering (and confirming) new password, the user will be logged in automatically.
You can adjust or disable some parts of this flow (and substitute it with your own code) in config/laravel-password-setup.php
.
Alternatively, you can use artisan command php artisan password:setup {user}
and give it user ID and it will generate a token and send an email notification to the given user.