wesmiler 5 年 前
コミット
a78b8d1379
2 ファイル変更14 行追加13 行削除
  1. 12 11
      app/Middleware/Auth/TokenMiddleware.php
  2. 2 2
      storage/languages/zh_CN/api.php

+ 12 - 11
app/Middleware/Auth/TokenMiddleware.php

@@ -8,12 +8,13 @@ use App\Model\User;
 use Hyperf\Di\Annotation\Inject;
 use Phper666\JWTAuth\Exception\TokenValidException;
 use Phper666\JWTAuth\JWT;
+use Phper666\JWTAuth\Util\JWTUtil;
 use Psr\Container\ContainerInterface;
 use Psr\Http\Message\ResponseInterface;
 use Psr\Http\Server\MiddlewareInterface;
 use Psr\Http\Message\ServerRequestInterface;
 use Psr\Http\Server\RequestHandlerInterface;
-
+use App\Controller\Resource\ApiResource;
 class TokenMiddleware implements MiddlewareInterface
 {
 
@@ -37,26 +38,26 @@ class TokenMiddleware implements MiddlewareInterface
     {
 
         try {
-            // 获取当前TOKEN
-            $token = $this->jwt->getToken();
-            var_dump($token);
-            // 验证TOKEN有效性
-            if($this->jwt->checkToken()){
+            // 根据具体业务判断逻辑走向,这里假设用户携带的token有效
+            $token = $request->getHeaderLine('Authorization') ?? '';
+            if (strlen($token) > 0) {
+                $token = JWTUtil::handleToken($token);
+                if ($token == false || !$this->jwt->checkToken($token)) {
+                    throw new TokenValidException(__('api.1005'), 401);
+                }
+
                 $authId = $token->getClaim('authId');
                 $user = User::where('id', $authId)->where(['enable'=> 'T'])->first();
-                var_dump($user);
                 if(!$user){
-                    throw new TokenValidException('Token未验证通过', 401);
+                    throw new TokenValidException(__('api.1029'), 401);
                 }
-
             }
 
         } catch (\Exception $exception){
-
+            throw new TokenValidException(__('api.1006'), 401);
         }
 
 
-
         return $handler->handle($request);
     }
 }

+ 2 - 2
storage/languages/zh_CN/api.php

@@ -8,7 +8,7 @@ return [
     '1002'=> 'error',
     '1003'=> 'exception',
     '1004'=> '路由不存在',
-    '1005'=> '授权登录失败,请刷新重试',
+    '1005'=> '授权失效,请重新登录',
     '1006'=> '服务器错误',
     '1007'=> '验证场景不存在...',
     '1008'=> '获取数据成功',
@@ -31,7 +31,7 @@ return [
     '1026'=> '任务请求成功',
     '1027'=> '账号注册失败',
     '1028'=> '账号注册成功',
-    '1029'=> '推荐内容不能存在重复数据或号码',
+    '1029'=> '授权无效,请重新登录',
     '1030'=> '用户名已被使用',
     '1031'=> '授权密钥错误',
     '1032'=> '账号登录成功',