<?php
namespace App\Http\Middleware;
use Closure;
use JWTAuth;
use Tymon\JWTAuth\Exceptions\JWTException;
use Tymon\JWTAuth\Exceptions\TokenExpiredException;
use Tymon\JWTAuth\Exceptions\TokenInvalidException;
use Illuminate\Http\Request;
class CheckToken
{
public function handle($request, Closure $next)
{
try {
if (! $user = JWTAuth::parseToken()->authenticate()) {
return response()->json([
'errcode' => 1006, 'errmsg' => 'token未获取到信息'
], 404);
}else{
$mid_params = JWTAuth::parseToken()->authenticate();
$mid_params = json_decode(json_encode($mid_params),true);
$request->attributes->add($mid_params) return $next($request) }
} catch (TokenExpiredException $e) {
return response()->json([
'errcode' => 1009,
'errmsg' => 'token过期' , ]);
} catch (TokenInvalidException $e) {
return response()->json([
'errcode' => 1008,
'errmsg' => 'token无效', ]);
} catch (JWTException $e) {
return response()->json([
'errcode' => 1007,
'errmsg' => 'token为空' , ]);
}
}
}