【问题标题】:Laravel 8 / Fortify - Email verification link not working (Safari)Laravel 8 / Fortify - 电子邮件验证链接不起作用(Safari)
【发布时间】:2022-01-06 19:25:44
【问题描述】:

我正在尝试让 laravel 实施的电子邮件验证系统正常工作 (https://laravel.com/docs/8.x/verification)。

到目前为止我做了什么:

  1. 在文件 config/fortify.php 中启用功能 emailVerification,如下所示:

    ...
    
    'features' => [
        Features::registration(),
        Features::resetPasswords(),
        Features::emailVerification(),
        Features::updateProfileInformation(),
        Features::updatePasswords(),
        Features::twoFactorAuthentication([
            'confirmPassword' => true,
        ]),
    ],
    
    ...
    
  2. app/Models/User.php 文件中实现了 MustVeriffyEmail,如下所示:

    <?php
    
    namespace App\Models;
    
    use Illuminate\Contracts\Auth\MustVerifyEmail;
    use Illuminate\Database\Eloquent\Factories\HasFactory;
    use Illuminate\Foundation\Auth\User as Authenticatable;
    use Illuminate\Notifications\Notifiable;
    use Laravel\Fortify\TwoFactorAuthenticatable;
    use Laravel\Jetstream\HasProfilePhoto;
    use Laravel\Jetstream\HasTeams;
    use Laravel\Sanctum\HasApiTokens;
    
    class User extends Authenticatable implements MustVerifyEmail
    {
        use HasApiTokens;
        use HasFactory;
        use HasProfilePhoto;
        use HasTeams;
        use Notifiable;
        use TwoFactorAuthenticatable;
    
    ...
    

这些编辑后我的结果是,除了我每封邮件获得的电子邮件验证链接之外,一切正常。如果我尝试单击链接,它只会将我重定向到登录页面,而不会出现任何错误消息。

邮件中的链接如下所示:

http://127.0.0.1:8000/email/verify/3/995092d93501e0759262089b7ae6eac49b6fe656?expires=1614371149&signature=66ad8a8622e89a4936c71ca89e050cfcba602d7d4dfdcaca1b430a9e5396f49f

如果我检查我的数据库,一切似乎也很好,除了我在 email_verified_at 列(存在)中没有任何记录。

也许有人有同样的问题,可以在这里帮助我吗?

最好的问候, 里昂

【问题讨论】:

  • 您需要登录以验证您的电子邮件。
  • 到目前为止,我发现这一定是因为某些会话详细信息未在多个 Safari 选项卡之间共享....在 Chrome 中到目前为止一切正常,只有在 Safari 中我将验证链接粘贴到与以前完全相同的选项卡....有人知道如何解决这个问题吗?

标签: laravel laravel-8 fortify email-verification


【解决方案1】:

你缺少工具

class User extends Authenticatable implements MustVerifyEmail

【讨论】:

  • 对不起,我的代码中已经有了它。为我的问题复制了错误的代码? 现在我更新了我的问题...但是感谢您的帮助!
  • 请在您的答案中添加一些解释,以便其他人可以从中学习
  • @DanielGrim:这是一个的答案。它不再是一个相关的答案,因为 OP 已经确认他们的原始代码不正确。但是,此答案是根据原始问题真诚发布的。
猜你喜欢
  • 1970-01-01
  • 2021-02-15
  • 2021-08-29
  • 1970-01-01
  • 2021-01-15
  • 1970-01-01
  • 2023-04-01
  • 2016-12-21
  • 1970-01-01
相关资源
最近更新 更多