Introducción

Muchas aplicaciones web requieren que los usuarios verifiquen sus correos electrónicos antes de usar la aplicación. En lugar de forzarte a volver a implementar esto en cada aplicación, Laravel proporciona métodos convenientes para enviar y verificar solicitudes de verificación de correos electrónicos.

Preparación del modelo

Para comenzar, verifica que tu modelo App\User implementa la interfaz Illuminate\Contracts\Auth\MustVerifyEmail:

<?php

namespace App;

use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;

class User extends Authenticatable implements MustVerifyEmail
{
    use Notifiable;

    // ...
}

Consideraciones de la base de datos

Columna de verificación de correo electrónico

Luego, tu tabla users debe contener una columna email_verified_at para almacenar la fecha y la hora en la que la dirección de correo electrónico fue verificada. Por defecto, la migración de la tabla users incluida con el framework Laravel ya incluye esta columna. Así que, lo único que necesitas es ejecutar la migración de la base de datos:

php artisan migrate

Rutas

Laravel incluye la clase Auth\VerificationController que contiene la lógica necesaria para enviar enlaces de verificación y verificar correos electrónicos. Para registrar las rutas necesarias para este controlador, pasa la opción verify al método Auth::routes:

Auth::routes(['verify' => true]);

Regístrate en Styde

Para obtener acceso a ésta y a todas nuestras lecciones y cursos premium:

Ver planes

Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.

Lección anterior Autorización - Documentación de Laravel 6 Lección siguiente Cifrado - Documentación de Laravel 6