beyondcode/laravel-confirm-email

为您的Laravel项目添加电子邮件验证。

2.3.0 2024-04-05 14:06 UTC

This package is auto-updated.

Last update: 2024-09-05 15:00:35 UTC


README

Latest Version on Packagist Total Downloads

安装

您可以通过composer安装此包

composer require beyondcode/laravel-confirm-email

使用

此包将为您的用户表添加一个confirmed_atconfirmation_code字段。使用以下命令发布迁移和配置文件:

php artisan vendor:publish --provider="BeyondCode\EmailConfirmation\EmailConfirmationServiceProvider"

并运行迁移

php artisan migrate

配置登录、注册和忘记密码控制器

为了使用电子邮件验证,请将Laravel自带的AuthenticatesUsersRegistersUsersSendsPasswordResetEmails特质替换为该包提供的相应特质。

这些特质位于以下三个文件中

  • App\Http\Controllers\Auth\LoginController
  • App\Http\Controllers\Auth\RegisterController
  • App\Http\Controllers\Auth\ForgotPasswordController

添加确认和重新发送确认的路由

将以下两个路由添加到您的routes/web.php文件中

Route::name('auth.resend_confirmation')->get('/register/confirm/resend', 'Auth\RegisterController@resendConfirmation');
Route::name('auth.confirm')->get('/register/confirm/{confirmation_code}', 'Auth\RegisterController@confirm');

显示确认消息

此包添加了一些包含错误/信息消息的闪存消息,供用户查看。要将它们显示给用户,请将以下内容添加到您的login.blade.php中:

@if (session('confirmation'))
    <div class="alert alert-info" role="alert">
        {!! session('confirmation') !!}
    </div>
@endif

并将以下内容添加到您的login.blade.phpemail.blade.php中:

@if ($errors->has('confirmation') > 0 )
    <div class="alert alert-danger" role="alert">
        {!! $errors->first('confirmation') !!}
    </div>
@endif

自定义

此包附带一个语言文件,允许您修改用户可能看到的错误/确认消息。此外,您可以通过在config/confirmation.php文件中更改它来完全更改用于发送确认代码的通知类。

更改重定向路由

您可以通过在注册控制器中将这些值作为属性包含,或作为返回路由/URL字符串的方法来更改所有可能的重定向路由。

  • redirectConfirmationTo
  • redirectAfterRegistrationTo
  • redirectAfterResendConfirmationTo

它们都默认为route('login')

确认事件

在成功确认电子邮件后,此包触发一个Confirmed事件,以便您方便地处理任何自定义逻辑,例如发送欢迎邮件或自动登录用户。

只需将Confirmed事件及其监听器添加到应用程序中的EventServiceProvider即可。

    /**
     * The event listener mappings for the application.
     *
     * @var array
     */
    protected $listen = [
        'BeyondCode\EmailConfirmation\Events\Confirmed' => [
            'App\Listeners\YourOnConfirmedListener'
        ]
    ];

有关注册事件和监听器的更多信息,请参阅Laravel文档

测试

composer test

变更日志

有关最近更改的更多信息,请参阅变更日志

贡献

有关详细信息,请参阅贡献指南

安全

如果您发现任何安全相关的问题,请通过marcel@beyondco.de发送电子邮件,而不是使用问题跟踪器。

致谢

许可

MIT许可证(MIT)。有关更多信息,请参阅许可文件