Ошибка проверки электронной почты Laravel 5.7, маршрут [verify.verify] не определен

Я пытаюсь реализовать проверку электронной почты в Laravel 5.7. Я реализовал MustVerifyEmail на модели User.

class User extends Authenticatable implements MustVerifyEmail 
{ 
}

Но после регистрации у меня появилась эта ошибка Route [verification.verify] not defined.

Что мне в этом не хватает? Пожалуйста, руководство?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
13
0
21 836
7

Ответы 7

Вам не хватает Auth::routes(['verify' => true]) в Routes\Web.php.

Я предлагаю посмотреть это видео, где подробно объясняется, как работает проверка электронной почты в Laravel 5.7.

https://thewikihow.com/video_dbmox3tgI2k

документы, кажется, предполагают, что читатель уже знает, где разместить Auth::routes(['verify' => true]). laravel.com/docs/5.7/verification#verification-routing

lasec0203 25.12.2018 22:21

Laravel включает класс Auth\VerificationController, который содержит необходимую логику для отправки проверочных ссылок и проверки электронных писем. Чтобы зарегистрировать необходимые маршруты для этого контроллера, передайте опцию verify методу Auth::routes:

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

Вы можете прочитать больше здесь: https://laravel.com/docs/5.7/verification

В файл routes/web.php добавьте следующий фрагмент кода:

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

Ссылка: https://laravel.com/docs/5.7/verification#verification-routing

В routes / web.php убедитесь, что Auth::routes(['verify' => true]); Затем запустите:

php artisan route:cache

для очистки кешированных маршрутизируемых и обновления входящих изменений

Вы можете удалить промежуточное ПО 'проверено', например:

<?php

Route::middleware(['auth', 'verified'])
    ->group(function(){

     ...

});

?>

Попробуйте, должно решить проблему

Запустить:

php artisan optimize:clear

Это очистит ваш кеш.

Что происходит на самом деле:

Route::middleware(['auth:sanctum', 'verified'])->get('/dashboard', function () {

(['auth:sanctum', 'verified']

при передаче двух аргументов laravel: один - аутентификации, а другой - проверки почты. Он говорит: он аутентифицирован. ? и проверено ? ok ответ: ответьте, что пользователь в таблице: User email_verified_at не зарегистрирован на дату активации электронной почты, то есть он не сообщил мне, что адрес электронной почты существует. ps передает исключение, потому что есть страница, которую вы должны активировать в ответ на это ... то есть в ответ на это ... Ваш адрес электронной почты не подтвержден, даже если страница создана либо в vue на blade-сервере, либо в limewire в папке auth.

в App \ Models \ User search

 // use Illuminate\Contracts\Auth\MustVerifyEmail;

активный:

use Illuminate\Contracts\Auth\MustVerifyEmail;

а орудия

class User extends Authenticatable implements MustVerifyEmail

сейчас многого не хватает .. Проверяем, что ядро ​​активно по следующим параметрам:

в маршруте App \ Http \ Kernel.php

// 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,

изменение:

'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,

в папке Config: config \ fortify.php это:

    // Features::emailVerification(),

Это

    Features::emailVerification(),

И самое главное в этом аду аутентификации ... маршруты: Вы можете выбрать разные типы маршрутов ... но один в зависимости от ваших ресурсов или проекта.

базовый:

Route::middleware(['auth:sanctum'])->get('/dashboard', function () {
        return Inertia::render('Dashboard');
})->middleware('verified')->name('dashboard');

Route::middleware(['auth:sanctum','verified'])->get('/dashboard', function () {
        return Inertia::render('Dashboard');
})->name('dashboard');

немного адреналина:

Route::group(["middleware" => ['auth:sanctum','verified']], function () {
    Route::get('/dashboard', function () {
        return Inertia::render('Dashboard');
        // return "hola william";
    })->name('dashboard');
    //aca puedes segir colocando las paginas o recursos que quieres cargar mientras en usuario este autenticado y verificado...
});

откуда ошибка: Маршрут [verify.verify] не определен

этот маршрут / файл .. поставщик \ laravel \ framework \ src \ lighting \ Auth \ Middleware \ EnsureEmailsVerified.php

функция:

    public function handle($request, Closure $next, $redirectToRoute = null)
{
    if (! $request->user() ||
        ($request->user() instanceof MustVerifyEmail &&
        ! $request->user()->hasVerifiedEmail())) {
        return $request->expectsJson()
                ? abort(403, 'Your email address is not verified.')
                : Redirect::guest(URL::route($redirectToRoute ?: 'verification.notice'));
    }

    return $next($request);
}

linea:

: Redirect::guest(URL::route($redirectToRoute ?: 'verification.notice'));

Спасибо и успехов в ваших проектах с laravel. и извините, если я что-то не так написал.

Другие вопросы по теме