2016-04-10 19 views
2

コントローラ(Laravel 5.2)でauth:apiミドルウェアを使用します。Laravel 5.2間違ったapi_tokenでリクエストするJSON応答

class RestfulController extends Controller 
    { 

     public function __construct() { 
      $this->middleware(['api', 'auth:api'], ['except' => ['login'] ]); 
     } 

    } 

路線:

Route::group(['prefix' => 'api'], function() { 
    Route::get('/login', ['uses' => '[email protected]', 'as'=>'login']); 
    Route::get('/list', ['uses' => '[email protected]', 'as'=>'list']); 
}); 

要求が含まれているか、または無効api_tokenフレームワークは、ログインページにリダイレクト含まれていない場合。代わりにJSON応答をエラーで返したいと思います。どのように実装できますか?

+0

こんにちは、あなたのルートがファイルを表示することができますでしょうか? – dyachenko

答えて

3

変更アプリ/ HTTP /ミドルウェア/ Authenticate.phpハンドル方法、それはレスポンスJSON

public function handle($request, Closure $next, $guard = null) 
{ 
    if (Auth::guard($guard)->guest()) { 
     if ($request->ajax() || $request->wantsJson()) { 
      return response('Unauthorized.', 401); 
     } else { 
      $response = [ 
       'status' => 'error', 
       'message' => 'This is error message' 
      ]; 
      return Response::json($response); 
     } 
    } 

    return $next($request); 
} 
1

あなたはapiauth:apiミドルウェアグループをチェックして、それをやっている魔女を探してください。ベンダーパッケージの中にある場合は、それを拡張して変更する必要があります。