Laravel 5.7 бросает подтверждение электронной почты 403 - PullRequest
0 голосов
/ 21 октября 2018

Я реализовал проверку электронной почты в проекте Laravel 5.7, над которым я работаю.Я получаю электронное письмо, но всякий раз, когда я нажимаю кнопку подтверждения или даже URL-адрес, указанный в письме, я получаю запрещенную ошибку 403.

Я искал несколько решений, но не смог найтиодин к этой проблеме.Единственным разумным указателем на эту ошибку является проблема github https://github.com/laravel/framework/issues/25716, которая была объединена и закрыта Тейлором Отвеллом, но эта проблема сохраняется.

Вот электронное письмо, которое я получаю: enter image description here Вот ошибка, которую он выдает, когда я нажимаю на кнопку или actionUrl в нижнем колонтитуле письма: enter image description here иВот URL, отображаемый при отображении страницы 403 https://www.mywebsite.com/email/verify/1?expires=1540140119&signature=fd7dc72b05da6f387b2f52a27bceee533b2256436f211930c1319c7a544067da

Пожалуйста, помогите мне.Спасибо

Правки: эта проблема возникает только в производственном приложении.На локальном сервере эта проверка электронной почты работает, но на рабочем (живом) сервере генерируется 403Мой почтовый сервис - mailgun, и я могу получить доступ к любому другому содержанию электронной почты, связанному с приложением, за исключением завершения проверки электронной почтыМне нужна помощь, пожалуйста.Спасибо в ожидании

Ответы [ 4 ]

0 голосов
/ 26 августа 2019

Оказывается, это часто происходит, когда ваше приложение laravel работает за прокси-сервером (apache, nginx и т. Д.). Поэтому мы заканчиваем тем, что заменяем «подписанное» промежуточное ПО laravel по умолчанию нашим собственным промежуточным ПО, которое проверяет ссылки https: //.Этот ответ StackOverFlow здесь смог решить эту проблему для меня:

Подписанный маршрут для проверки электронной почты не проходит проверку подписи

0 голосов
/ 07 июня 2019

Обычно это происходит, если ваше приложение работает за некоторыми прокси и, вероятно, не обрабатывает само SSL-завершение.

Решение состоит в том, чтобы добавить

protected $proxies = '*';

к промежуточному программному обеспечению TrustProxies.

Ссылка: https://laracasts.com/discuss/channels/laravel/hitting-403-page-when-clicking-verify-link-in-email-using-new-laravel-verification-57?page=1

0 голосов
/ 03 июля 2019

Одной из причин, которые были в моем случае, может быть то, что вы уже вошли в систему с нормальным подтвержденным пользователем, и вы нажали ссылку для подтверждения по электронной почте.В этом случае он будет стрелять 403.Что не нормально на мой взгляд, но что угодно.

0 голосов
/ 21 октября 2018

для использования электронной почты laravel, сначала проверьте, нужно ли добавить маршруты

, если вы видите в Illuminate / Routing / Router.php по умолчанию, маршрут изменения отключен

Email Verification Routes... if($options['verify'] ?? false) {$this->emailVerification(); }

Вы должны передать значение true, чтобы включить

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

в файле web.php.теперь используйте php artisan route:list and check it,s working

...