Laravel忽略APP_URL进行验证的电子邮件

时间:2019-05-14 14:48:30

标签: php laravel

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]
)

我看到带有example.com的网址(是的,缓存已清除,甚至是从头开始重建的项目)

1 个答案:

答案 0 :(得分:0)

解决方案是:Laravel(5.7,5.8)不支持针对基于REST API的应用程序进行正确的电子邮件验证,该应用程序托管在与验证电子邮件页面不同的域上。

要使其生效,您必须更改很多依赖关系,而且它也不是那么安全...

最好的选择是基于users.email_veryfied_at列创建自己的验证流程(例如,数据库中的单独表)以支持verify middleware