Laravel Jetstream 自动为所有 Jetstream 应用程序构建双重身份验证支持。用户可以通过右上角的用户个人资料导航下拉菜单访问 Laravel Jetstream 的安全功能。在此仪表板中,Jetstream 构建了允许用户为其帐户启用和管理双重身份验证的视图。
当用户为其帐户启用双重身份验证时,他们应使用免费的 TOTP 验证器应用程序(如 Google Authenticator)扫描给定的二维码。此外,他们还应将列出的恢复码存储在安全的密码管理器中,例如 1Password。
如果用户丢失了对移动设备的访问权限,Jetstream 登录页面将允许他们使用其恢复码之一进行身份验证,而不是由其移动设备的验证器应用程序提供的临时令牌。
大多数 Jetstream 功能可以通过操作类进行自定义。但是,出于安全考虑,Jetstream 的双重身份验证服务封装在 Jetstream 中,不应需要自定义。
通常,双重身份验证功能的相应视图和页面不需要自定义,因为它们已经具备完整的功能。但是,如果您需要对这些页面进行一些展示调整,则在下面描述了它们的位置。
使用 Livewire 堆栈时,将使用 resources/views/profile/two-factor-authentication-form.blade.php
Blade 模板显示双重身份验证管理视图。使用 Inertia 堆栈时,将使用 resources/js/Pages/Profile/TwoFactorAuthenticationForm.vue
模板显示此视图。
如果您愿意,可以通过从应用程序的 config/fortify.php
配置文件的 features
数组中删除此功能来禁用对双重身份验证的支持
use Laravel\Fortify\Features;
'features' => [
Features::registration(),
Features::resetPasswords(),
Features::emailVerification(),
Features::updateProfileInformation(),
Features::updatePasswords(),
// Features::twoFactorAuthentication([
// 'confirmPassword' => true,
// ]),
],