Api.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. namespace App\Middleware;
  3. use Psr\Http\Message\ServerRequestInterface;
  4. use Psr\Http\Message\ResponseInterface;
  5. use App\Services\Factory;
  6. use App\Utils\Helper;
  7. class Api
  8. {
  9. public function __invoke(ServerRequestInterface $request, ResponseInterface $response, $next)
  10. {
  11. $accessToken = Helper::getTokenFromReq($request);
  12. if ($accessToken==null) {
  13. $res['ret'] = 0;
  14. $res['msg'] = "token is null";
  15. $response->getBody()->write(json_encode($res));
  16. return $response;
  17. }
  18. $storage = Factory::createTokenStorage();
  19. $token = $storage->get($accessToken);
  20. if ($token==null) {
  21. $res['ret'] = 0;
  22. $res['msg'] = "token is null";
  23. $response->getBody()->write(json_encode($res));
  24. return $response;
  25. }
  26. if ($token->expireTime < time()) {
  27. $res['ret'] = 0;
  28. $res['msg'] = "token is expire";
  29. $response->getBody()->write(json_encode($res));
  30. return $response;
  31. }
  32. $response = $next($request, $response);
  33. return $response;
  34. }
  35. }