laravel - 覆盖 laravel 强化 TwoFactorLogin
问题描述
我希望用户在成功完成 2FA 过程后被重定向到他们的仪表板。我使用了与使用正常登录响应相同的方法,您可以像这样覆盖它
<?php
namespace App\Http\Responses;
use Illuminate\Support\Facades\Auth;
use Laravel\Fortify\Contracts\LoginResponse as LoginResponseContract;
class LoginResponse implements LoginResponseContract
{
public function toResponse($request)
{
return redirect()->route('dashboard.index', ['user' => Auth::user()]);
}
}
然后在 FortifyServiceProvider 注册方法中注册它
$this->app->singleton(
\Laravel\Fortify\Contracts\LoginResponse::class,
\App\Http\Responses\LoginResponse::class
);
我尝试对 TwoFactorLogin 执行相同的方法,所以我创建了一个 TwoFactorResponse 类
<?php
namespace App\Http\Responses;
use Illuminate\Support\Facades\Auth;
use Laravel\Fortify\Contracts\TwoFactorLoginResponse as TwoFactorLoginResponseContract;
class TwoFactorResponse implements TwoFactorLoginResponseContract
{
public function toResponse($request)
{
return redirect()->route('dashboard.index', ['user' => Auth::user()]);
}
}
并在ServiceProvider中注册
$this->app->singleton(
\laravel\Fortify\Contracts\TwoFactorLoginResponse::class,
\App\Http\Responses\TwoFactorResponse::class,
);
但是,当用户按下双重身份验证页面上的登录按钮时,用户将被重定向回来自 RouteServiceProvider 的默认主页public const HOME = '/';
,在我的例子中是登录页面。
甚至可以覆盖 TwoFactorLogin 还是我搞砸了?
解决方案
推荐阅读
- javascript - 当更改为本地时,onSnapshot fromCache 始终为 false
- javascript - 如何在 React Native 中显示 expo 相机的图像
- excel - Excel 公式在 x 行后停止工作
- javascript - 打字稿中的联合返回类型
- typescript - 使用打字稿处理未定义的返回
- javascript - 如何在分隔的输入字段上禁用 javascript 效果?
- aframe - AR.js,对象实体没有出现在 NFT 标记的顶部并且尺寸非常小
- encryption - 在 GNU 无线电中需要 AES 加密
- mysql - 如何在 mysql/mariadb 中查询具有相同 id 的多行
- java - 同一类的两个对象实例在不同的 JVM 进程中运行