【问题标题】:Laravel ignores APP_URL for verifications emailLaravel 忽略用于验证电子邮件的 APP_URL
【发布时间】:2019-05-15 20:21:32
【问题描述】:

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 的 URL(是的,缓存已清除,甚至项目从头开始重建)

【问题讨论】:

  • 你在 config/app.php 中有什么 url 变量?
  • 'url' => env('APP_URL', 'example.com') 当然

标签: php laravel


【解决方案1】:

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

要让它工作你必须更改很多依赖项,而且它也不是那么安全......

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

【讨论】:

    猜你喜欢
    • 2016-12-09
    • 1970-01-01
    • 1970-01-01
    • 2020-03-18
    • 2019-02-12
    • 2021-02-15
    • 2017-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多