beyondcode / laravel-confirm-email
为您的Laravel项目添加电子邮件验证。
Requires
- php: ^7.3|^8.0
- illuminate/auth: ^8.0|^9.0|^10.0|^11.0
- illuminate/database: ^8.0|^9.0|^10.0|^11.0
- illuminate/notifications: ^8.0|^9.0|^10.0|^11.0
- illuminate/support: ^8.0|^9.0|^10.0|^11.0
- laravel/ui: ^3.0|^4.0
Requires (Dev)
- orchestra/testbench: ^6.0|^9.5
- phpunit/phpunit: ^9.0|^10.5
This package is auto-updated.
Last update: 2024-09-05 15:00:35 UTC
README
安装
您可以通过composer安装此包
composer require beyondcode/laravel-confirm-email
使用
此包将为您的用户表添加一个confirmed_at
和confirmation_code
字段。使用以下命令发布迁移和配置文件:
php artisan vendor:publish --provider="BeyondCode\EmailConfirmation\EmailConfirmationServiceProvider"
并运行迁移
php artisan migrate
配置登录、注册和忘记密码控制器
为了使用电子邮件验证,请将Laravel自带的AuthenticatesUsers
、RegistersUsers
和SendsPasswordResetEmails
特质替换为该包提供的相应特质。
这些特质位于以下三个文件中
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.php
和email.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)。有关更多信息,请参阅许可文件。