etopian / fortify-ui
由 Fortify 驱动的 Laravel UI 替代方案
Requires
- laravel/fortify: ^1.7
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.3
- vimeo/psalm: ^3.11
This package is auto-updated.
Last update: 2024-09-18 10:12:56 UTC
README
简介
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 预设模板 仓库,并点击“使用模板”按钮。
社区预设
以下是社区创建的预设列表
- FortifyUIkit:使用 UIkit 框架制作
- FortifyUITabler:使用 Tabler 控制台模板制作
- FortifyBulma:使用 Bulma CSS 框架制作
- FortifyUITailwind:使用 Tailwind CSS 框架制作
- FortifySoftUi:使用 Soft UI Dashboard 和 Soft UI 制作
- Fortify Bootstrap:使用 Bootstrap 框架制作
- FortifyTablerAdmin:使用 Tabler 控制台模板制作,提供多种布局
如果您已创建预设,请打开一个问题或 PR 以将其添加到列表中!
许可证
FortifyUI 是开源软件,使用 MIT 许可证授权。