<?php namespace App\Http\Middleware; use Closure; use Illuminate\Support\Facades\Log; use Tymon\JWTAuth\Exceptions\JWTException; use Tymon\JWTAuth\Exceptions\TokenExpiredException; use Tymon\JWTAuth\Exceptions\TokenInvalidException; use Tymon\JWTAuth\Facades\JWTAuth; use Tymon\JWTAuth\Http\Middleware\BaseMiddleware; class JwtAuthMiddleware { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { try { $token = JWTAuth::getToken(); if(empty($token)){ $error = [ 'message' => 'token is required', 'code' => 401, ]; return response()->json($error); } // $data = JWTAuth::decode($token)->authenticate(); $data = JWTAuth::decode($token); Log::debug('parse-token='.json_encode($data)); } catch (TokenExpiredException $e) { $error = [ 'message' => 'Token is Expired', 'code' => 401, ]; Log::debug('parse-token='.$e->getMessage()); return response()->json($error); } catch (TokenInvalidException $e) { $error = [ 'message' => $e->getMessage(), 'code' => 401, ]; Log::debug('parse-token='.$e->getMessage()); return response()->json($error); } catch (JWTException $e) { $error = [ 'message' => $e->getMessage(), 'code' => 401, ]; Log::debug('parse-token='.$e->getMessage()); return response()->json($error); }catch (\Exception $e){ $error = [ 'message' => $e->getMessage(), 'code' => 401, ]; Log::debug('parse-token='.$e->getMessage()); return response()->json($error); } return $next($request); } }