我用 Fortify 身份验证构建了一个 Laravel 应用程序。有一个要求,当用户登录时,他们应该从所有其他设备上注销。在 Laravel 文档中,提到我可以使用该Auth::logoutOtherDevices($password);
方法。但目前尚不清楚如何将其与 Fortify 一起使用。
我试图在Fortify::authenticateUsing(function (Request $request) {})
函数中使用它,但它不起作用,因为它检查类中方法 User
内的实例。logoutOtherDevices()
Illuminate\Auth\SessionGuard
通过在类中进一步挖掘Laravel\Fortify\Http\Controllers\AuthenticatedSessionController
,我发现我可以在 中传入一个自定义登录管道数组app/config/fortify.php
并添加我自己的处理程序以从那里调用该logoutOtherDevices()
方法。
我设法让它以这种方式工作。但是我觉得这种方法有些不对劲,我想看看是否有明显的方法可以做到这一点(我在这里遗漏了什么吗?)
谢谢。