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
的网址(是的,缓存已清除,甚至是从头开始重建的项目)
答案 0 :(得分:0)
解决方案是:Laravel(5.7,5.8)不支持针对基于REST API的应用程序进行正确的电子邮件验证,该应用程序托管在与验证电子邮件页面不同的域上。
要使其生效,您必须更改很多依赖关系,而且它也不是那么安全...
最好的选择是基于users.email_veryfied_at
列创建自己的验证流程(例如,数据库中的单独表)以支持verify middleware