Explorar el Código

:bug: jwt key 太短

visuddhinanda hace 1 semana
padre
commit
cf84f90cfe

+ 2 - 1
api-v13/app/Http/Controllers/AccessTokenController.php

@@ -40,6 +40,7 @@ class AccessTokenController extends Controller
         }
         $payload = $request->input('payload');
         $result = array();
+        Log::debug('token', ['payload' => $payload]);
         foreach ($payload as $key => $value) {
             //鉴权
             switch ($value['res_type']) {
@@ -76,7 +77,7 @@ class AccessTokenController extends Controller
             }
 
             try {
-                $jwt = JWT::encode($value, $token->token, 'HS512');
+                $jwt = JWT::encode($value, $token->token . $token->token, 'HS512');
             } catch (\Exception $e) {
                 Log::error('jwt', ['error' => $e]);
                 continue;

+ 2 - 2
api-v13/app/Http/Controllers/SentenceController.php

@@ -276,9 +276,9 @@ class SentenceController extends Controller
                     return false;
                 }
                 $key = AccessToken::where('res_id', $channelId)->value('token');
-                $jwt = JWT::decode($access_token, new Key($key, 'HS512'));
+                $jwt = JWT::decode($access_token, new Key($key . $key, 'HS512'));
                 Log::debug('access token', ['jwt' => $jwt]);
-                if ($jwt->book !== $book) {
+                if ($jwt->book && $jwt->book !== $book) {
                     Log::error('access token error');
                     return false;
                 }