2017-08-11 78 views
0

我想創建一個AJAX登錄請求,在身份驗證失敗的情況下,應該在JSON對象中返回身份驗證錯誤消息。什麼是最好的方法來做到這一點?Laravel 5.4登錄JSON錯誤響應

感謝您提前給出答案!

編輯:

我生成與所述php artisan make:auth命令在auth。

+0

那你試試? – Bas

+1

您選擇以** bold **顯示的內容有點任意。 – apokryfos

+0

我試圖「覆蓋」'AuthenticatesUsers'特性 – LakiGeri

回答

1

有2種可能的身份驗證失敗:

  1. 請求驗證失敗
  2. 的憑證無效

當請求驗證失敗,根據錯誤返回適應什麼請求期望如此,如果它是JSON,它將返回JSON響應中的錯誤。

的問題是對於第二種情況,你可以簡單地做這種情況下:

class LoginController { 

     use AuthenticatesUsers { 
      sendFailedLoginResponse as protected traitSendFailedLoginResponse; 
     } 

     protected function sendFailedLoginResponse(Request $request) { 
      if ($request->expectsJson()) { 
       return response()->json([ "errors" => Lang::get('auth.failed') ]); 
      } else { 
       return $this->traitSendFailedLoginResponse($request); 
      } 
     } 
} 
+0

謝謝,它的工作! :) – LakiGeri