В этом сообщении блога мы рассмотрим различные методы реализации проверки электронной почты во время регистрации пользователей в Laravel 8. Laravel предоставляет удобный способ проверки электронной почты пользователей, обеспечивая более безопасный и надежный процесс регистрации. Мы рассмотрим несколько примеров кода, используя разговорный язык, чтобы новичкам было проще его понять и реализовать.
Метод 1: использование встроенной функции проверки электронной почты Laravel
В Laravel 8 имеется встроенная функция проверки электронной почты, которая упрощает процесс. Чтобы включить его, выполните следующие действия:
Шаг 1. Настройка базы данных
Убедитесь, что в таблице пользователей есть столбец email_verified_at с нулевым типом метки времени.
Шаг 2. Обновите модель пользователя
В своей модели пользователя используйте признак MustVerifyEmail. Эта особенность добавляет необходимые методы и атрибуты для проверки электронной почты.
Шаг 3. Обновите контроллер регистрации
В методе Register() вашего RegistrationController после создания пользователя вызовите метод sendEmailVerificationNotification() для экземпляра пользователя. Пользователю будет отправлено письмо с подтверждением.
Вот и все! Об остальном позаботится Laravel, включая обработку маршрутов и представлений проверки электронной почты.
Метод 2. Настройка уведомлений о подтверждении электронной почты
Если вы хотите настроить уведомление о подтверждении электронной почты, выполните следующие действия:
Шаг 1. Создайте уведомление
Создайте новое уведомление с помощью Artisan-команды make:notification. Например, введите: php artisan make:notification VerifyEmailNotification.
Шаг 2. Настройте уведомление.
Откройте созданный класс уведомлений и настройте метод toMail(), чтобы определить содержимое и макет электронного письма.
Шаг 3. Обновление модели пользователя
В модели пользователя переопределите метод sendEmailVerificationNotification(). Внутри этого метода используйте фасад уведомлений для отправки настроенного уведомления. Например: $this->notify(new VerifyEmailNotification($this));.
Метод 3: запуск проверки электронной почты вручную
В некоторых случаях вам может потребоваться вручную запустить процесс проверки электронной почты. Вот как это можно сделать:
Шаг 1. Создайте URL-адрес подтверждения.
Используйте метод URL::temporarySignedRoute(), чтобы создать временный подписанный URL-адрес для проверки электронной почты. Передайте имя маршрута проверки электронной почты и срок действия подписанного URL-адреса.
Шаг 2. Отправьте электронное письмо
В вашей пользовательской логике отправьте пользователю электронное письмо, содержащее сгенерированный URL-адрес подтверждения. Для этого вы можете использовать встроенный фасад Mail Laravel.
Шаг 3. Обработка проверки электронной почты
Создайте маршрут и метод контроллера для проверки электронной почты. Внутри метода контроллера используйте метод hasValidSignature()для проверки подписи URL-адреса. Если подпись действительна, отметьте адрес электронной почты пользователя как подтвержденный.
Внедрение проверки электронной почты во время регистрации пользователя в Laravel 8 имеет решающее значение для создания безопасного и заслуживающего доверия приложения. В этой статье мы рассмотрели несколько методов достижения этой цели: от использования встроенной функции проверки электронной почты Laravel до настройки уведомлений по электронной почте и запуска проверки вручную. Следуя этим методам и адаптируя их к конкретным требованиям вашего проекта, вы сможете улучшить процесс регистрации и обеспечить подлинность электронных писем пользователей.