ntavelis / auth-email
在Laravel >= 5.4上基于artisan的make:auth命令生成电子邮件身份验证。
Requires
- php: >=5.6.4
- illuminate/contracts: ~5.4
- illuminate/filesystem: ~5.4
- illuminate/http: ~5.4
- illuminate/support: ~5.4
Requires (Dev)
- phpunit/phpunit: ~4.0||~5.0
- squizlabs/php_codesniffer: ^2.3
README
Auth-email为Laravel >=5.4的应用程序提供开箱即用的电子邮件身份验证。它利用Laravel通过make:auth命令提供的功能,该命令为您运行并继续配置电子邮件身份验证。这意味着,每个注册到您应用程序的用户都会收到一个带有激活账户按钮的电子邮件。他必须点击激活账户,以证明他是该电子邮件的所有者并因此激活他的账户。
安装
通过Composer
$ composer require ntavelis/auth-email
然后在config/app.php中添加服务提供者
注意:从Laravel 5.5开始,此包会自动发现,因此您可以跳过此步骤!
'providers' => [ Ntavelis\AuthEmail\AuthEmailServiceProvider::class, ];
运行您的命令
$ php artisan auth:email
最后运行迁移。现在您已经有了电子邮件身份验证。访问/register通过电子邮件注册新用户。
注意:请确保正确配置了电子邮件设置。
选项/参数
Auth-email提供以下选项
如果您在发现此包之前已经使用make:auth初始化了应用程序,则可以传递-o,--only标志,让auth-email跳过运行make:auth命令。
$ php artisan auth:email -o
Auth-email可以在设置后运行迁移,以尽可能减少安装过程。传递-m,--migrate标志。
$ php artisan auth:email -m
注意:在运行命令之前,请确保正确配置了数据库设置。
Auth-email可以使生成的app/mail/ActivateAccount.php实现ShouldQueue接口。传递-s,--queue标志。
$ php artisan auth:email -s
注意:请确保正确配置了队列驱动程序。
您也可以使用任意数量的标志运行命令。
$ php artisan auth:email -o -m -s
迁移
在初始安装后,您需要运行迁移,auth-email在您的database/migrations/路径中添加了2个迁移文件。其中提供1个新表来存储激活令牌,以及用户表中1个新列,创建_users_table迁移是Laravel默认提供的,我们只是添加了1个列通过新的迁移来跟踪已认证(通过电子邮件)的用户。
或者,如上所述,传递-m标志以在设置后立即为您运行迁移。
$ php artisan auth:email -m
电子邮件标记
要更改您发送给用户的激活电子邮件的外观,您必须修改resources/views/emails/auth.blade.php blade文件。
此文件使用Laravel 5.4的新功能markdown mailables,请参阅Laravel文档以获取详细信息。https://laravel.net.cn/docs/5.4/mail#markdown-mailables
负责激活邮件标记(主题、发件人等)的mailable位于app/Mail/ActivateAccount.php。
Flash消息
Auth-email提供2个开箱即用的Flash消息。
authEmail.mailSend消息在注册后通知用户检查他们的收件箱并激活他们的账户。
authEmail.confirm消息通知刚刚尝试登录但尚未认证的用户,他们必须点击我们发送给他们的电子邮件上的激活按钮。
如果您需要更改这些消息,您可以从此文件resources/lang/en/authEmail.php中进行更改。
队列
默认行为是未实现ShouldQueue接口,以简化设置。但我强烈建议您使用队列。
如果要让您的电子邮件实现 ShouldQueue 接口,以便使其可排队,可以通过传递 -s 或 --queue 标志。然后,在 app/mail/ActivateAccount.php 中生成的电子邮件将实现 ShouldQueue 接口。
或者,您可以手动实现 ShouldQueue 接口。
有关队列的更多信息,请参阅 Laravel 的文档 https://laravel.net.cn/docs/5.4/queues。
验证
此包添加了一个名为 alpha_spaces 的额外验证规则。它考虑了有效的字母数字字符和空格,并用于在注册表单上验证 name。
您可以在 resources/lang/en/validation.php 中找到显示的消息,如果您感兴趣,验证逻辑位于此包的 ServiceProvider 中的 register 方法。
生成的文件
从 auth:email 命令生成的所有文件的列表
另外,在您的路由文件 web.php 中还追加了一行,它创建应用程序的激活路由。激活路由如下所示 /user/activation/{token}。
要求
需要 PHP >= 5.6.*
需要安装 Laravel 框架,版本 >= 5.4
支持的 Laravel 版本
此包支持从 5.4 版本开始的全部 Laravel 版本。
- 从版本 1.4.0 开始,添加了对 Laravel 5.6 的支持
变更日志
有关最近更改的更多信息,请参阅 CHANGELOG。
测试
$ composer test
贡献
有关详细信息,请参阅 CONTRIBUTING 和 CONDUCT。
安全
如果您发现任何与安全相关的问题,请通过电子邮件 davelis89@gmail.com 而不是使用问题跟踪器。
鸣谢
许可协议
MIT 许可协议 (MIT)。有关更多信息,请参阅 许可文件。