exolnet/laravel-emails-confirmation

类似于Laravel原生密码重置的邮件确认。

v6.10.0 2023-03-09 20:36 UTC

README

Latest Release Total Downloads Build Status Software License

类似于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 而不是使用问题跟踪器。

致谢

许可证

此代码根据 MIT许可证 授权。有关更多信息,请参阅许可证文件