logo

双重身份验证

简介

Laravel Jetstream 自动为所有 Jetstream 应用程序构建双重身份验证支持。用户可以通过右上角的用户个人资料导航下拉菜单访问 Laravel Jetstream 的安全功能。在此仪表板中,Jetstream 构建了允许用户为其帐户启用和管理双重身份验证的视图。

当用户为其帐户启用双重身份验证时,他们应使用免费的 TOTP 验证器应用程序(如 Google Authenticator)扫描给定的二维码。此外,他们还应将列出的恢复码存储在安全的密码管理器中,例如 1Password

如果用户丢失了对移动设备的访问权限,Jetstream 登录页面将允许他们使用其恢复码之一进行身份验证,而不是由其移动设备的验证器应用程序提供的临时令牌。

Screenshot of Security

操作

大多数 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 数组中删除此功能来禁用对双重身份验证的支持

php
use Laravel\Fortify\Features;

'features' => [
    Features::registration(),
    Features::resetPasswords(),
    Features::emailVerification(),
    Features::updateProfileInformation(),
    Features::updatePasswords(),
    // Features::twoFactorAuthentication([
    //     'confirmPassword' => true,
    // ]),
],