【问题标题】:Laravel Fortify not triggering 2FA challenge?Laravel Fortify 没有触发 2FA 挑战?
【发布时间】:2022-06-10 15:42:39
【问题描述】:

我已经使用 Laravel Fortify 为我的应用程序编写了一些身份验证,并且我设置了 2FA 的启用部分,一切正常,但我遇到的问题是它似乎没有当用户登录时触发挑战?

我已经像这样设置了自定义视图;

        Fortify::twoFactorChallengeView(function () {
            return view(\'auth.two-factor-challenge\');
        });

并且 Fortify 声称它应该“......自动将用户重定向到您的应用程序的两因素身份验证挑战屏幕。\”(https://laravel.com/docs/9.x/fortify#authenticating-with-two-factor-authentication),但对我来说不是这种情况,它不会重定向到全部。

似乎无法在源代码中找到任何类型的中间件来手动实现这一点,所以想知道是否有人可能知道发生了什么?

我手动检查了我的数据库,启用后所有两个因素列(如two_factor_secret)都设置正确,所以我有点困惑。

在我的强化配置中,我设置了以下设置,因为我不想确认密码,而是确认当前 OTP 代码以进行任何需要进行的更改,因为这对我的应用程序最有意义思考。不确定禁用confirmPassword 是否会导致这种情况?

Features::twoFactorAuthentication([
            \'confirm\' => true,
            \'confirmPassword\' => false,
        ]),

    标签: laravel fortify


    【解决方案1】:

    今天刚遇到这个问题,整天在网上寻找解决办法。然后我看到了这篇文章 (https://epndavis.com/blog/laravel-fortify-two-factor-authentication/),它表明 confirm 属性不包含在它的一个 sn-ps 中。幸运的是,在我端尝试后,登录最后触发 2FA 挑战。

    因此,您的代码现在应该如下所示:

    Features::twoFactorAuthentication([
         'confirmPassword' => false,
    ]),
    

    如果您已经解决了这个问题,我希望这个答案能帮助其他人解决这个问题并继续他们开发的其他部分。

    PS。作为confirm 的替代品,我建议您访问这篇文章:https://dev.to/nicolus/laravel-fortify-implement-2fa-in-a-way-that-won-t-let-users-lock-themselves-out-2ejk

    工作示例:https://github.com/xyberpastoril/PCBMS/pull/6

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-09
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 2017-04-27
      相关资源
      最近更新 更多