$username, "iss" => "",//签发组织 "aud" => "", //签发作者 "iat" => $time, //签发时间 "nbf" => $time, //生效时间 "exp" => $expire ); $jwt = JWT::encode($token, $key, 'HS256'); return $jwt; } //校验jwt权限API public function verifyJwt($jwt) { $key = 'A6H1O#vJ*6QV3*sC'; try { $jwtAuth = JWT::decode($jwt, new Key($key, 'HS256')); $authInfo = (array)$jwtAuth; $msg['status']=0; $msg['info']=$authInfo; return $msg; } catch (\Firebase\JWT\SignatureInvalidException $e) { return [ 'status' => 10002, 'msg' => 'Token无效' ]; exit; } catch (\UnexpectedValueException $e) { return [ 'status' => 10005, 'msg' => $e->getMessage() ]; exit; } catch (\DomainException $e) { return [ 'status' => 10006, 'msg' => $e->getMessage() ]; exit; } catch (\InvalidArgumentException $e) { return [ 'status' => 10007, 'msg' => $e->getMessage() ]; exit; } catch (\Firebase\JWT\ExpiredException $e) { //Token过期 return [ 'status' => 10003, 'msg' => '登录信息已超时,请重新登录' ]; exit; } catch (Exception $e) { return [ 'status' => 10004, 'msg' => '未知错误' ]; exit; } } }