Laravel-在没有Jetstream的情况下实现Fortify两要素身份验证

时间:2020-09-30 11:29:00

标签: laravel laravel-8

我正在努力弄清楚如何在不使用Jetstream的情况下实现Laravel / Fortify(https://github.com/laravel/fortify)提供的2FA。当前没有有关如何执行操作的文档。

我在 twoFactorAuthenication

中启用了config/fortify.php
'features' => [
    // Features::registration(),
    // Features::resetPasswords(),
    // Features::emailVerification(),
    // Features::updateProfileInformation(),
    Features::updatePasswords(),
    Features::twoFactorAuthentication([
        'confirmPassword' => true,
    ]),
],

我已经在{strong> twoFactorChallengeView

中注册了Providers\FortifyServerProvider
public function boot()
{    
    Fortify::twoFactorChallengeView('auth.two-factor-challenge');

我正在测试登录名的帐户在two_factor_secrettwo_factor_recovery_code字段中设置了值

我什至将我的代码与具有2FA(带有Jetstream的Laravel 8的新安装)的可正常工作的应用程序进行了比较,但是我看不出配置的任何差异。

我能够成功进行身份验证,但从未触发2FA挑战。

我错过了什么?

1 个答案:

答案 0 :(得分:2)

在文件App \ Models \ User.php

use Laravel\Fortify\TwoFactorAuthenticatable;
class User extends Authenticatable
{
    use TwoFactorAuthenticatable;
}