2016-02-19 175 views
2

我正在使用API​​登录用户。我的唯一信息是他/她的电子邮件。Laravel 5无密码登录

我将如何验证该用户而不必输入他/她的密码?

这是我试过的代码。

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

你有linkedInemail在你的数据库? –

+0

无,仅用户表。 – KennethC

+0

为什么不让用户使用电子邮件ID并登录? –

回答

2

我相信你必须将App \ User传递给Auth :: login函数,但是你传递的是一个电子邮件地址。这不起作用。

我的建议是做两件事情之一:

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

例如:

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

Auth::login($user); 
+0

感谢布罗。相应地工作。 :) – KennethC