Check.php 869 B

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. namespace app\http\middleware;
  3. use service\EncryptService;
  4. use think\Request;
  5. use traits\controller\Jump;
  6. use think\facade\Log;
  7. class Check
  8. {
  9. use Jump;
  10. /**
  11. * @param Request $request
  12. * @param \Closure $next
  13. * @return mixed|\think\response\Json
  14. */
  15. public function handle(Request $request, \Closure $next)
  16. {
  17. $jwt = new EncryptService();
  18. $authorization = $request->header('Authorization');
  19. if (stripos($authorization, 'Bearer') !== false) {
  20. $authorization = explode(' ',$authorization)[1];
  21. }
  22. $checkToken = $jwt->checkToken($authorization);
  23. if (is_numeric($checkToken)) {
  24. return json(json_error_exception($checkToken));
  25. }
  26. Log::record($checkToken);
  27. $request->userInfo = $checkToken['params'];
  28. return $next($request);
  29. }
  30. }