I am trying to implement email verification in Laravel 5.7. I have implemented MustVerifyEmail
on User
model.
class User extends A
You can remove 'verified' middleware, for example:
<?php
Route::middleware(['auth', 'verified'])
->group(function(){
...
});
?>
Try it, should solve the problem
Laravel includes the Auth\VerificationController
class that contains the necessary logic to send verification links and verify emails. To register the necessary routes for this controller, pass the verify
option to the Auth::routes
method:
Auth::routes(['verify' => true]);
You can read more information here : https://laravel.com/docs/5.7/verification
In routes/web.php ensure
Auth::routes(['verify' => true]);
Then run :
php artisan route:cache
to clear cached routed and update incoming changes
Run:
php artisan optimize:clear
It will clear your cache.
In routes/web.php
file, add following piece of code:
Auth::routes(['verify' => true]);
Ref: https://laravel.com/docs/5.7/verification#verification-routing
You are missing Auth::routes(['verify' => true])
in Routes\Web.php
.
I suggest watch this video, where it has explained in detail how email verification works in Laravel 5.7.
https://www.youtube.com/watch?v=dbmox3tgI2k