authJWT.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. namespace App\Http\Middleware;
  3. use Closure;
  4. class authJWT
  5. {
  6. /**
  7. * Handle an incoming request.
  8. *
  9. * @param \Illuminate\Http\Request $request
  10. * @param \Closure $next
  11. * @return mixed
  12. */
  13. public function handle($request, Closure $next)
  14. {
  15. try {
  16. // 如果用户登陆后的所有请求没有jwt的token抛出异常
  17. $user = \App\Vendor\Jwt::verifyToken($request->input('token'));
  18. if(!$user){
  19. return toJson(-30001);
  20. }
  21. $request->input('user_id',$user['sub']);//设置系统的uid;
  22. } catch (Exception $e) {
  23. return toJson(-30001);
  24. // if ($e instanceof \Tymon\JWTAuth\Exceptions\TokenInvalidException){
  25. // return response()->json(['error'=>'Token 无效']);
  26. // }else if ($e instanceof \Tymon\JWTAuth\Exceptions\TokenExpiredException){
  27. // return response()->json(['error'=>'Token 已过期']);
  28. // }else{
  29. // return response()->json(['error'=>'出错了']);
  30. // }
  31. }
  32. return $next($request);
  33. }
  34. }