coderjp / verifier
Email verification for Laravel 5
Installs: 1 174
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 1
Open Issues: 0
Requires
- php: >=5.4.0
- illuminate/console: ~5.0
- illuminate/database: ~5.0
- illuminate/support: ~5.0
This package is not auto-updated.
Last update: 2024-12-21 17:48:07 UTC
README
Verifier is a package for Laravel 5 that sends out verification emails to users in order for them to prove their email is valid. Users will click a link in the email to validate their address.
Installation
Require this package with composer using the following command:
composer require coderjp/verifier
Then run composer install
or composer update
.
After updating composer, add the service provider to the providers
array in config/app.php
'Coderjp\Verifier\VerifierServiceProvider',
Generate the config file for changing various settings. This can be found in config/verifier.php
.
php artisan vendor:publish --provider=Coderjp\\Verifier\\VerifierServiceProvider
Make sure the tables
config option is correct. By default the table used is users
. Then run the following
command to generate the migrations:
php artisan verifier:migration
Usage
Model
Add the VerifierUserTrait
to the model you wish to verify against. This will usually be the User
model.
<?php use Coderjp\Verifier\Traits\VerifierUserTrait; class User extends Model implements AuthenticatableContract, CanResetPasswordContract { use Authenticatable, CanResetPassword, EntrustUserTrait, SoftDeletes, VerifierUserTrait; ... }
Template
You will need to make a mail template for the welcome email to use. By default the config uses emails.welcome
.
The variable $user
will be passed to your template. This will be an array of the relevant user.
Hi {{ $user['name'] }}, Welcome to our site. Please click the following link to activate your account: {{ url('verify', $user['verification_code']) }} Regards, CoderJP
Verifying
Where you create a user, you can now call the sendVerification()
method on the model. This will trigger
an email to be sent to the user.
... public function store(CreateUserRequest $request) { $user = User::create($request->all()); $user->sendVerification(); ... } ...
To verify a token you can use the verify()
method like so:
<?php class UserController extends Controller { ... public function validate(Request $request, $code) { $user = User::verify($code); if ($user) { // $user = User model return view('user.validated'); } else { // $user = null; return view('user.invalid'); } } ... }
If the code is valid, verify will set validated = true
, remove the validation code
from the database
and return the related user. If the code is invalid null
is returned.
Overriding
Some options may need more thought than a simple attribute, the following can be overwritten by declaring methods in your model
To: Name
This is the name of the recipient. By default it uses the name
attribute of the model, however you can override
it by declaring the following:
... public function getVerificationEmailName() { return ucwords($this->first_name .' '. $this->last_name); } ...
Email Subject
By default, the config option subject
is used, however you can define the following method in the model:
... public function getVerificationEmailSubject() { return 'Welcome to our site ' . $this->name; } ...
License
Verifier is open-sourced software licensed under the MIT license