Laravel 5 免密码登录

Laravel 5 login without password

我正在使用 API,我想在其中登录用户。我唯一的信息是 his/her 电子邮件。

如何在不输入 his/her 密码的情况下验证该用户?

这是我试过的代码。

public function linkedinLogin()
{
     $email = json_decode($_POST['email']);


     Session::put('linkedin_email', $email);


     //$value = session('linkedin_email');

    if (Session::has('linkedin_email')) Auth::login(Session::get('linkedin_email'));

        return $value;
}

我认为您必须将 App\User 传递给 Auth::login 函数,但您传递的是电子邮件地址。这行不通。

我建议做以下两件事之一:

  1. 找到与 linkedin_email 关联的用户的 ID,并使用 Auth::loginUsingId(id) 对用户进行身份验证。或者,
  2. 找到与 linkedin_email 关联的用户并将 $user 传递给 Auth::login 函数。

例如:

$user = App\User::where('linkedin_email', $value)->get()->first();

Auth::login($user);