私はアプリに取り組んでおり、ユーザーが複数のデバイスにログインできないようにしたいと考えています。
ドキュメントには、App\Http\Kernel の Illuminate\Session\Middleware\AuthenticateSession ミドルウェアのコメントを外してから、Auth ファサードによって提供される logoutOtherDevices メソッドを使用することで、これを実行できることが記載されています。
FortifyServiceProvider に次のコードを追加してみました
Fortify::authenticateUsing(function (Request $request) {
$user = User::where('email', $request->email)->first();
if ($user &&
Hash::check($request->password, $user->password)) {
Auth::logoutOtherDevices($request->password);
return $user;
}
});
ユーザーを返す前に logoutOtherDevices メソッドを呼び出すと、他のセッションからユーザーがログアウトされることを期待していました。そうではありません。
ここで何が間違っていますか?
ありがとう!