讨论数量:
有对应的 Exception
,其中 TokenExpiredException
代表过期,继而调用 refresh()
刷新令牌,如果抛出 JWTException
则代表无法再刷新。jwt-auth 异常如下:UnauthorizedHttpException 未携带token,TokenExpiredException 令牌过期,TokenInvalidException 无法解析的令牌,JWTException 令牌已在黑名单或超出刷新时间上限或内部错误。
try {
$this->checkForToken($request);
if ( $this->auth->parseToken()->authenticate() ) {
return $next($request);
}
}catch(Exception $e){
if ($e instanceof TokenExpiredException) {
try{// 过期异常
$token = $this->auth->refresh();//尝试刷新,如达到刷新时间上限抛出异常
return Y::json(6666, $e->getMessage(),['access_token'=>$token]);
}catch(JWTException $e){
// 令牌失效或者达到刷新上限
return Y::json(7777, $e->getMessage());
}
}
}
有对应的
Exception
,其中TokenExpiredException
代表过期,继而调用refresh()
刷新令牌,如果抛出JWTException
则代表无法再刷新。jwt-auth 异常如下:UnauthorizedHttpException 未携带token,TokenExpiredException 令牌过期,TokenInvalidException 无法解析的令牌,JWTException 令牌已在黑名单或超出刷新时间上限或内部错误。