exolnet / laravel-emails-confirmation
类似于Laravel原生密码重置的邮件确认。
v6.10.0
2023-03-09 20:36 UTC
Requires
- php: ^8.0
- laravel/framework: ^9.0|^10.0
Requires (Dev)
- mockery/mockery: ^1.4
- phpunit/phpunit: ^9.3.3
- squizlabs/php_codesniffer: ^3.6
README
类似于Laravel原生密码重置的邮件确认。
之前
你应该已经创建并部署了一个Laravel 5.5项目,并部署了认证骨架。
composer create-project --prefer-dist laravel/laravel your-project-name "5.5.*"
php artisan make:auth
安装
使用composer安装 exolnet/laravel-emails-confirmation
用于Laravel 5.5
composer require "exolnet/laravel-emails-confirmation:5.5.*"
如果你不使用包自动发现,请将服务提供者添加到 config/app.php
中的 providers
数组
Exolnet\Auth\Emails\EmailServiceProvider::class,
并将外观添加到 config/app.php
中的 facades
数组
'Email' => Exolnet\Support\Facades\Email::class,
发布
此模块提供了许多可发布的文件。其中一些是覆盖标准Laravel应用文件,而其他则是覆盖来自认证骨架的文件(控制器和视图)。
如果你刚刚开始一个新项目,你可以简单地强制发布所有内容
php artisan vendor:publish --provider="Exolnet\Auth\Emails\EmailServiceProvider" --force
如果你已经有一个现有的项目,你可以仍然强制发布所有内容并查看 git diff
以修复可能被覆盖的重要内容,或者你可以手动复制可发布的文件。
迁移
运行迁移
php artisan migrate
路由
在你的路由文件中调用 Route::emails()
宏
Route::emails();
或者显式定义以下路由
// Email Confirmation Routes... Route::get('confirm', 'Auth\ResendConfirmationController@showLinkRequestForm')->name('email.resend'); Route::post('confirm', 'Auth\ResendConfirmationController@resendConfirmLinkEmail'); Route::get('confirm/{email}/{token}', 'Auth\ConfirmController@confirm')->name('email.confirm');
如果你想显式定义认证路由而不是使用 Route::auth()
宏,使用以下方法
// Authentication Routes... Route::get('login', 'Auth\LoginController@showLoginForm')->name('login'); Route::post('login', 'Auth\LoginController@login'); Route::post('logout', 'Auth\LoginController@logout')->name('logout'); // Registration Routes... Route::get('register', 'Auth\RegisterController@showRegistrationForm')->name('register'); Route::post('register', 'Auth\RegisterController@register'); // Password Reset Routes... Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request'); Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email'); Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset'); Route::post('password/reset', 'Auth\ResetPasswordController@reset');
测试
要运行phpUnit测试,请使用
composer test
贡献
请参阅CONTRIBUTING 和 行为准则 以获取详细信息。
安全性
如果你发现任何安全相关的问题,请通过电子邮件 security@exolnet.com 而不是使用问题跟踪器。