用途:Laravel Fortify 是 Laravel 的无头认证后端,提供认证路由与控制器。本技能用于在 Laravel 应用中开发认证功能,包括登录、注册、密码重置、邮箱验证与双因素认证(2FA)。
主要能力:可在 config/fortify.php 的 features 数组中启用注册、密码重置、邮箱验证、资料更新、密码修改、双因素认证等功能。认证业务逻辑位于 app/Actions/Fortify/,可自定义用户创建与密码校验。响应类契约位于 Laravel\Fortify\Contracts\,可覆盖 LoginResponse、LogoutResponse 等。视图回调在 FortifyServiceProvider::boot() 中通过 Fortify::loginView()、Fortify::registerView() 等设置。
使用方式:用 list-routes 并设 only_vendor: true、action: "Fortify" 查看已注册端点;用 search-docs 查询 Fortify 模式与文档。关键端点包括 POST /login、/logout、/register、/forgot-password、/reset-password、/user/confirm-password、/user/two-factor-authentication、/two-factor-challenge,以及 GET /email/verify、/user/two-factor-qr-code、/user/two-factor-recovery-codes。
配置与自定义:通过 Fortify::authenticateUsing() 或 Fortify::authenticateThrough() 自定义认证流程;在 AppServiceProvider 覆盖响应契约实现自定义跳转;修改 CreateNewUser.php 定制注册逻辑;通过 fortify.limiters.login 配置限流,默认按用户名加 IP 节流。SPA 认证需设 'views' => false,安装配置 Laravel Sanctum,使用 web guard 并处理 CSRF。
限制:邮箱验证要求 User 实现 MustVerifyEmail;2FA 需为 User 添加 TwoFactorAuthenticatable trait 并运行迁移;具体配置选项与实现细节需查阅官方文档,资料未提供完整代码示例。