Laravel 5登录无密码

时间:2016-02-19 01:22:22

标签: php laravel laravel-5

我正在使用我要登录用户的API。我唯一的信息是他/她的电子邮件。

如何在不必插入密码的情况下对该用户进行身份验证?

这是我尝试过的代码。

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;
}

1 个答案:

答案 0 :(得分:2)

我相信您必须将App \ User传递给Auth :: login功能,但您传递的是电子邮件地址。这不起作用。

我建议做两件事之一:

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

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