Add the Laravel 5.7 email verification

This commit is contained in:
Nabeel Shahzad 2018-09-09 08:48:32 -05:00
parent 99e472f99c
commit 262aad2d7a
4 changed files with 72 additions and 1 deletions

View File

@ -0,0 +1,40 @@
<?php
namespace App\Http\Controllers\Auth;
use Illuminate\Routing\Controller;
use Illuminate\Foundation\Auth\VerifiesEmails;
class VerificationController extends Controller
{
/*
|--------------------------------------------------------------------------
| Email Verification Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling email verification for any
| user that recently registered with the application. Emails may also
| be resent if the user did not receive the original email message.
|
*/
use VerifiesEmails;
/**
* Where to redirect users after verification.
*
* @var string
*/
protected $redirectTo = '/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
$this->middleware('signed')->only('verify');
$this->middleware('throttle:6,1')->only('verify', 'resend');
}
}

View File

@ -8,6 +8,8 @@ use App\Listeners\AwardListener;
use App\Listeners\ExpenseListener; use App\Listeners\ExpenseListener;
use App\Listeners\FinanceEvents; use App\Listeners\FinanceEvents;
use App\Listeners\NotificationEvents; use App\Listeners\NotificationEvents;
use Illuminate\Auth\Events\Registered;
use Illuminate\Auth\Listeners\SendEmailVerificationNotification;
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider; use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
class EventServiceProvider extends ServiceProvider class EventServiceProvider extends ServiceProvider
@ -17,6 +19,10 @@ class EventServiceProvider extends ServiceProvider
ExpenseListener::class, ExpenseListener::class,
], ],
Registered::class => [
SendEmailVerificationNotification::class,
],
UserStatsChanged::class => [ UserStatsChanged::class => [
AwardListener::class, AwardListener::class,
], ],

View File

@ -44,7 +44,7 @@ Route::group([
Route::resource('profile', 'ProfileController'); Route::resource('profile', 'ProfileController');
}); });
Auth::routes(); Auth::routes(['verify' => true]);
Route::get('/logout', 'Auth\LoginController@logout')->name('logout'); Route::get('/logout', 'Auth\LoginController@logout')->name('logout');
require app_path('Routes/admin.php'); require app_path('Routes/admin.php');

View File

@ -0,0 +1,25 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">{{ __('Verify Your Email Address') }}</div>
<div class="card-body">
@if (session('resent'))
<div class="alert alert-success" role="alert">
{{ __('A fresh verification link has been sent to your email address.') }}
</div>
@endif
{{ __('Before proceeding, please check your email for a verification link.') }}
{{ __('If you did not receive the email') }}, <a
href="{{ route('verification.resend') }}">{{ __('click here to request another') }}</a>.
</div>
</div>
</div>
</div>
</div>
@endsection