Laravel 8.6 通过中间件使用 url 参数登录

Laravel 8.6 login using url parameters through middleware

我在应用程序中的页面嵌入到另一个应用程序中。要访问嵌入页面,用户名和密码是使用 URL 传递的,例如 &user=foo&password=bar。到此页面的路由经过 middleware('loginViaApp')。我想让这个中间件使用参数登录,但我不知道如何登录。我希望是这样的,但我不知道如何使用中间件登录。

class LoginViaApp:

    {
        if(Auth::login(['username'=>'foo','password'=>'bar'])){
          return $next($request);
        }else{
          return error('403');
        }

    }

有人可以帮我弄清楚如何使用中间件在 url 中使用参数登录吗?

亲切的问候, 杰夫

你可以使用这个逻辑,根据你的需要修改它并在中间件中使用它

$user = User::where('username',$username)->first();
if(null === $user ){
    return redirect()->route('login');
}
$passwordPass = Hash::check($password, $user->password);
if($passwordPass){
    auth()->loginUsingId($user->id);
    return $next($request);
}
return;