修正解析token时过期时处理

This commit is contained in:
wucongxing 2023-11-17 09:09:10 +08:00
parent 2aa253fa5d
commit 17c979105c

View File

@ -62,9 +62,9 @@ class AuthMiddleware implements MiddlewareInterface
$white_api = $Auth->checkApiWhiteList($path_info, $method); $white_api = $Auth->checkApiWhiteList($path_info, $method);
if (!empty($token)){ if (!empty($token)){
$res = $redis->get('jwt_black_' . $token);
if ($white_api){ if ($white_api){
// 存在token免鉴权 // 存在token免鉴权
$res = $redis->get('jwt_black_' . $token);
if ($res && time() >= $res) { if ($res && time() >= $res) {
// token存在黑名单中 // token存在黑名单中
return $handler->handle($request); return $handler->handle($request);
@ -78,12 +78,12 @@ class AuthMiddleware implements MiddlewareInterface
} }
}else{ }else{
// 存在token鉴权 // 存在token鉴权
$res = $redis->get('jwt_black_' . $token);
if ($res && time() >= $res) { if ($res && time() >= $res) {
// token存在黑名单中 // token存在黑名单中
return $this->response->json(fail(HttpEnumCode::TOKEN_ERROR)); return $this->response->json(fail(HttpEnumCode::TOKEN_ERROR));
} }
try {
// jwt验证 // jwt验证
$result = $Jwt->decode($token); $result = $Jwt->decode($token);
@ -104,6 +104,12 @@ class AuthMiddleware implements MiddlewareInterface
$response = $response->withHeader('Authorization', $new_token); $response = $response->withHeader('Authorization', $new_token);
Context::set(ResponseInterface::class, $response); Context::set(ResponseInterface::class, $response);
} }
}catch (\Throwable $e){
if ($e->getCode() == 405 || $e->getCode() == 406){
return $this->response->json(fail($e->getCode()));
}
return $this->response->json(fail(HttpEnumCode::SERVER_ERROR));
}
} }
}else{ }else{
if ($white_api){ if ($white_api){