Package Data | |
---|---|
Maintainer Username: | SelimSalihovic |
Maintainer Contact: | selim.salihovic@gmail.com (Selim Salihovic) |
Package Create Date: | 2017-06-22 |
Package Last Update: | 2017-08-28 |
Home Page: | |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-21 03:00:45 |
Package Statistics | |
---|---|
Total Downloads: | 10 |
Monthly Downloads: | 0 |
Daily Downloads: | 0 |
Total Stars: | 1 |
Total Watchers: | 1 |
Total Forks: | 0 |
Total Open Issues: | 0 |
A Laravel package to handle email verification.
It is inspired by crypto-based password resets and the email verification package by josiasmontag.
register()
method.Install this package via Composer.
composer require meness/verifi
You must install both the service provider and the facade.
'providers' => [
...
Meness\Verifi\Providers\VerifiServiceProvider::class,
];
'aliases' => [
...
'Verifi' => Meness\Verifi\Facades\Verifi::class,
];
A migration is provided to add a is_email_verified
column to the existing users
table, you can publish the migration.
php artisan vendor:publish --provider="Meness\Verifi\Providers\VerifiServiceProvider" --tag="migrations"
Remember to run the following command if you published the migration.
php artisan migrate
A configuration file is also provided, you can publish the configuration.
php artisan vendor:publish --provider="Meness\Verifi\Providers\VerifiServiceProvider" --tag="config"
expiration
1440
(in minutes, 24 hours) set by default.
verify_route
/verify
set by default. Change the value if you're using a different route for verification.
send_notifications
true
set by default. Let this package send an email notification automatically after the registration complete.
The User
model must implement Meness\Verifi\Entities\Traits\Contracts\Verifi
interface.
Add Meness\Verifi\Entities\Traits\VerifiTrait
as a trait if you're going to use the default notification.
class User extends Authenticatable implements Verifi
{
use Notifiable, VerifiTrait;
}
Note: Some methods are not implemented, you must do it yourself.
You're free to create routes, because there're no default routes provided with this package.
Route::get('/verify', 'Auth\RegisterController@verify');
Route::get('/resend', 'Auth\RegisterController@resend');
Note: Remember to change the verify_route
value if you're not going to use the default route.
Create listeners for necessary events. There're three events provided with this package: InvalidCredentials
, VerificationSent
, and Verified
.
There're two methods available, verify()
and resend()
.
Note: An email verification will be sent after the registration complete if send_notifications
set true
, so you're not required to do it manually.
verify()
Verifi::verify()
expects a request object and an optional callback. It verifies credentials provided with the request.
Verifi::verify(request(), function ($user) {
if (is_null($user)) {
// Invalid credentials provided
} else {
// Verified
}
});
resend()
Verifi::resend()
expects an user model object and an optional callback. It sends the verification email to the provided user.
Verifi::resend($user, function ($user) {
// Resent successfully
});
There's a middleware called IsEmailVerified
to determine if the user's email address is verified.
$routeMiddleware = [
...
'isEmailVerified' => \Meness\Verifi\Http\Middleware\IsEmailVerified::class,
];
Please see releases for more information what has changed recently.
Please see CONTRIBUTING for details.
Verifi is open-sourced software licensed under the MIT license.