codepunk / activatinator
Laravel 'Auth' 框架上添加用户激活功能的包
Requires
- php: >=7.0
- laravel/framework: >=5.4
Requires (Dev)
- orchestra/testbench: ^3.5
- phpunit/phpunit: ^6.5
README
简介
Codepunk Activatinator 是 Laravel Auth 框架的扩展,要求用户通过电子邮件(或其他通知)激活账户后才能查看通常可见给认证用户的任何内容。
Activatinator 模拟 Laravel Auth "密码重置" 功能的逻辑和可扩展性。有关更多信息,请参阅 Laravel 的 认证 和 重置密码 页面。Laravel 提供的许多密码重置自定义选项也由 Activatinator 提供。
这个名字是什么意思?
多音节的 "Activatinator" 是向 "菲恩斯与菲尔博" 动画系列中的反派海因茨·杜夫恩什密茨致敬。根据 菲恩斯与菲尔博维基,"杜夫恩什密茨的计划和发明,主要称为 'Inators',是海因茨·杜夫恩什密茨为控制并占领三州地区或其他地区而创造的计划和装置。"
由于编码往往感觉像是策划一个天才(有时是邪恶)的方案来征服世界,Codepunk 借用了杜夫恩什密茨的 "Inator" 风格命名。
安装
-
如果你还没有这样做
-
创建一个新的 Laravel 项目
$ laravel new my_project
-
更新你的
.env
文件以指向有效的数据库和电子邮件客户端。 -
在你的新项目目录中,设置 Laravel 认证框架
$ php artisan make:auth
-
-
需要 Codepunk Activatinator!
-
通过 Composer
$ composer require codepunk/activatinator
-
手动
在你的项目的 `composer.json` 文件的
require
部分中添加以下内容"codepunk/activatinator": "^1.2.1"
(或任何最新的版本)
然后,通过执行以下命令更新你的项目
$ composer update
-
-
发布 Activatinator 包
$ php artisan vendor:publish --force
并选择 Codepunk ActivatinatorServiceProvider 选项。
-
更新数据库以进行必要的更改
$ php artisan migrate:refresh
-
修改你的
App\User
模型-
添加以下
use
语句use Codepunk\Activatinator\Activable; use Codepunk\Activatinator\Contracts\Activable as ActivableContract;
-
更新以下
class User extends Authenticatable
到这个
class User extends Authenticatable implements ActivableContract
-
更新以下
use Notifiable;
到这个
use Notifiable, Activable;
-
注意:如果你还使用 Laravel Passport 在应用程序中实现 OAuth,那么当用户尚未认证时,我们希望
oauth\token
端点失败。要实现此行为,将Codepunk\Activatinator\Traits\ValidatesForPassport
特性添加到你的App\User
模型(除 Passport 的HasApiTokens
特性外,如 Laravel Passport 文档中所述)use Notifiable, Activable, HasApiTokens, ValidatesForPassport;
-
-
修改
app/Http/Controllers/Auth/ForgotPasswordController.php
更新以下
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
到这个
use Codepunk\Activatinator\SendsPasswordResetEmails;
-
修改
app/Http/Controllers/Auth/LoginController.php
更新以下
use Illuminate\Foundation\Auth\AuthenticatesUsers;
到这个
use Codepunk\Activatinator\AuthenticatesUsers;
-
修改
app/Http/Controllers/Auth/RegisterController.php
更新以下
use Illuminate\Foundation\Auth\RegistersUsers;
到这个
use Codepunk\Activatinator\RegistersUsers;
-
修改
resources/views/auth/login.blade.php
找到这些行
<div class="card-body"> <form method="POST" action="{{ route('login') }}">
并在其中添加以下行,使其看起来像这样
<div class="card-body"> @include('codepunk::activatinator-alerts') <form method="POST" action="{{ route('login') }}">
许可证
Codepunk Activatinator 是开源软件,许可协议为 MIT 许可证