xielin 6 年之前
父節點
當前提交
ee9b131a14
共有 1 個文件被更改,包括 17 次插入2 次删除
  1. 17 2
      app/Http/Middleware/JwtAuthMiddleware.php

+ 17 - 2
app/Http/Middleware/JwtAuthMiddleware.php

@@ -5,8 +5,8 @@ namespace App\Http\Middleware;
 use Closure;
 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
 {
@@ -21,7 +21,15 @@ class JwtAuthMiddleware
     {
 
         try {
-            $data = JWTAuth::decode(JWTAuth::getToken())['user'];
+            $token = JWTAuth::getToken();
+            if(empty($token)){
+                $error = [
+                    'message' => 'token is required',
+                    'code' => 401,
+                ];
+                return response()->json($error);
+            }
+            $data = JWTAuth::decode($token)['user'];
             if ($data->sign !== md5($data->uid . env('JWT_SECRET'))) {
                 $error = [
                     'message' => 'request is not allow',
@@ -46,6 +54,13 @@ class JwtAuthMiddleware
                 'message' => $e->getMessage(),
                 'code' => 401,
             ];
+
+            return response()->json($error)->setStatusCode(401);
+        }catch (\Exception $e){
+            $error = [
+                'message' => $e->getMessage(),
+                'code' => 401,
+            ];
             return response()->json($error)->setStatusCode(401);
         }
         return $next($request);