2017-06-19 47 views
0

我試圖手動權威性我的用戶是這樣的:Laravel - 試圖權威性

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 

use App\User; 
use Auth; 
use Log; 
use Hash; 

class UsersController extends Controller 
{ 
    public function authenticate(Request $request){ 
     $email = $request->input('email'); 
     $password = $request->input('password'); 


     if (Auth::attempt(['email' => $email, 'password' => $password])) { 

      // Authentication passed... 
      return response()->json(User::find($email)); 
     } 

     return response()->json(null); 
    } 
} 

驗證我的請求數據,我的數據庫中的數據,一切正常。我也使用我的用戶密碼和我的請求密碼完成了Hash :: check,一切正常。

但是這種嘗試總是返回錯誤。

謝謝!

+0

我想你錯過了包括響應門面使用Illuminate \ Support \ Facades \ Response; – JYoThI

+0

你可以在你的代碼中加入退出,像這樣帶有參數的'dd(Auth :: attempt())'並且看到它返回true或false。 – Webinion

+0

我做了一個Hash :: check(),在我的數據庫中輸入密碼,我的表單的密碼和結果是真實的。 –

回答

0

最後,我找到了它。

這是因爲我參加一個結果,但

return response()->json(User::find($email)); 

沒有找到用戶。所以我改變它爲以下

return response()->json(User::where('email', $email)->first()); 

謝謝!