zacksmash / fortify-ui
由Fortify驱动的Laravel UI替代品
Requires
- laravel/fortify: ^1.21
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.3
- vimeo/psalm: ^3.11
README
简介
注意
对于Laravel 10及以下版本,请使用分支v1.x
FortifyUI 是一个无意见的认证入门工具,由 Laravel Fortify 驱动。它完全无样式 -- 故意为之 -- 并且只包含最小量的标记,以使您的项目快速启动。此包可用于启动您的项目,或者您可以使用 FortifyUI 预设模板,它允许您创建自己的预设,并使用 FortifyUI 进行安装。
简单来说...
FortifyUI 自动化了 Laravel Fortify 的基本安装和配置,它包括 Laravel Fortify 建议您自己实现的功能,并提供了一个框架,您可以在其周围构建自己的UI。因此,Fortify + UI。
安装
要开始,您需要使用Composer安装 FortifyUI。这将安装 Laravel Fortify,所以请确保您 尚未 安装它。
composer require zacksmash/fortify-ui
接下来,您需要运行安装命令
php artisan fortify:ui
此命令将发布 FortifyUI 的视图,将 home
路由添加到 web.php
,并将 FortifyUI 服务提供者添加到您的 app/Providers
目录。这将也会发布 Laravel Fortify 的服务提供者和配置文件。最后,它将在这 app.php
配置文件中的 providers 数组下注册这两个服务提供者。
就这样,您已经设置好了!对于高级设置和配置选项,请继续阅读!
配置
FortifyUI 服务提供者注册了所有认证功能的视图。如果您 不想 包含 FortifyUI 服务提供者,您可以通过使用 --skip-provider
标志来跳过生成。
php artisan fortify:ui --skip-provider
然后,您可以将以下内容添加到您的 AppServiceProvider
或 FortifyServiceProvider
中的 boot()
方法。
Fortify::loginView(function () { return view('auth.login'); }); Fortify::registerView(function () { return view('auth.register'); }); Fortify::requestPasswordResetLinkView(function () { return view('auth.forgot-password'); }); Fortify::resetPasswordView(function ($request) { return view('auth.reset-password', ['request' => $request]); }); // Fortify::verifyEmailView(function () { // return view('auth.verify-email'); // }); // Fortify::confirmPasswordView(function () { // return view('auth.confirm-password'); // }); // Fortify::twoFactorChallengeView(function () { // return view('auth.two-factor-challenge'); // });
要一次性注册所有视图,您可以使用以下命令
Fortify::viewPrefix('auth.');
现在,您应该拥有注册了 Laravel Fortify 所需的所有视图,包括基本布局和主页视图,以及可选的密码确认、电子邮件验证和两步验证视图。
功能
默认情况下,FortifyUI 已经设置为处理 Laravel Fortify 提供的基本认证功能(登录、注册、密码重置)。
电子邮件验证
要启用电子邮件验证功能,您需要访问 FortifyUI 服务提供者,并取消注释 Fortify::verifyEmailView()
以注册视图。然后,转到 fortify.php
配置文件,并确保 Features::emailVerification()
已取消注释。接下来,您需要更新您的 User
模型以包含以下内容
use Illuminate\Contracts\Auth\MustVerifyEmail; class User extends Authenticatable implements MustVerifyEmail { ...
这允许您将 verified
中间件附加到任何路由,由 verify.blade.php
文件处理。
密码确认
要启用密码确认功能,您需要访问 FortifyUI 服务提供商,并取消注释 Fortify::confirmPasswordView()
以注册视图。这允许您将 password.confirm
中间件附加到任何路由上,由 password-confirm.blade.php
文件处理。
两步验证
要启用双因素认证功能,您需要访问 FortifyUI 服务提供商,并取消注释 Fortify::twoFactorChallengeView()
以注册视图。然后,转到 fortify.php
配置文件,确保取消注释 Features::twoFactorAuthentication
。接下来,您需要更新您的 User
模型以包含以下内容
use Laravel\Fortify\TwoFactorAuthenticatable; class User extends Authenticatable { use HasFactory, Notifiable, TwoFactorAuthenticatable; ...
这就完成了!现在,您可以登录到您的应用程序并启用或禁用双因素认证。
更新用户密码/资料
要启用更新用户密码和/或个人资料信息的功能,请转到 fortify.php
配置文件,并确保取消注释这些功能
Features::updateProfileInformation(), Features::updatePasswords(),
FortifyUI 预设
FortifyUI 鼓励您创建自己的预设,使用您最喜欢的前端库和框架。要开始,请访问 FortifyUI 预设模板 存储库,并点击“使用模板”按钮。
社区预设
v1.x 的预设可以在该分支中找到。
许可证
FortifyUI 是开源软件,许可协议为 MIT 许可证。