2016-02-19 212 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