Gérer la vérification des e-mails dans Laravel
Gérer la vérification des e-mails dans Laravel
-
Objectifs
- Être capable de gérer la vérification des e-mails dans Laravel
-
Présentation
- Lorsqu’un nouvel utilisateur clique sur le bouton Inscription d’une application, il reçoit généralement un e-mail de confirmation avec un lien d’activation.
- Cela est nécessaire pour s’assurer que l’utilisateur possède l’adresse e-mail saisie lors de l’inscription. Après avoir cliqué sur le lien d’activation, l’utilisateur est authentifié pour l’application, si non il ne peut pas être logé.
- Dans cet article je vais vous montrer comment gérer la vérification des e-mails dans Laravel
- Prérequis:
-
Réalisation
-
App/User.php
- Implémentez le
MustVerifyEmail
contrat dans le modèleUser
: -
routes/web.php
- Ajoutez de tels routes en tant que
email/verify
etemail/resend
à l’application: -
app/Http/Contrôleurs/HomeController.php
- Modifiez les middlewares
verified
etauth
: - Vous pouvez maintenant tester l’application.
- Vous aurez le formulaire suivant:
- Si vous avez une erreur, vérifier la sécurité de vote compte google comme suit:
- L’e-mail suivant sera envoyé à l’adresse cité dans le formulaire d’inscription
-
nom d’expéditeur
- Sur les captures d’écran ci-dessus, le nom par défaut de l’application, Laravel, est utilisé comme nom d’expéditeur. Vous pouvez mettre à jour le nom dans le fichier
.env
:APP_NAME=apcpedagogie
- Renvoyez l’e-mail
<?php
namespace App\Models;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
class User extends Authenticatable implements MustVerifyEmail
{
use HasFactory, Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name',
'email',
'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password',
'remember_token',
];
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'email_verified_at' => 'datetime',
];
}
Auth::routes(['verify' => true]);
Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');
public function __construct()
{
$this->middleware(['auth','verified']);
}