zacksmash/fortify-ui

由Fortify驱动的Laravel UI替代品

安装次数: 12,029

依赖者: 7

建议者: 0

安全: 0

星标: 240

关注者: 8

分支: 20

开放问题: 0

语言:Blade

v2.0.1 2024-07-16 22:08 UTC

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

然后,您可以将以下内容添加到您的 AppServiceProviderFortifyServiceProvider 中的 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 许可证