Laravel игнорирует APP_URL для проверок по электронной почте - PullRequest
0 голосов
/ 14 мая 2019

Laravel 5.7, PHP 7.2, Mysql 5.7

API работает на api.example.com

В APP_URL Я установил example.com

в проверочном письме, яполучил электронное письмо с URL api.example.com

  • кэш очищен
  • нет очереди

Я думаю

// Illuminate\Auth\Notification\VerifyEmail

URL::temporarySignedRoute 

игнорирует APP_URL

БОНУС:

в забытом пароле почта URL-адрес в порядке, когда я набираю tinker

URL::temporarySignedRoute(
    'verification.verify', 
    \Illuminate\Support\Carbon::now()->addMinutes(60), 
    ['id' => 1234]
)

Я вижу URL с example.com (да,кеш очищен, даже проект восстановлен с нуля)

1 Ответ

0 голосов
/ 15 мая 2019

Решение: Laravel (5.7, 5.8) не поддерживает правильную проверку электронной почты для приложений на основе REST API, размещенных в другом домене, чем страница для проверки электронной почты.

Чтобы это работало, нужно изменить множество зависимостей, и это тоже не так уж безопасно ...

Наилучшим вариантом является создание собственного потока проверки (например, отдельной таблицы в БД) на основе столбца users.email_veryfied_at для поддержки verify middleware

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...