| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 | <?phpnamespace app\common\model;use Firebase\JWT\JWT;use Firebase\JWT\Key;class Jwttoken{    //生成token    public function createJwt($username)    {        $key    = md5('key'); //jwt的签发密钥,验证token的时候需要用到        $time   = time();        $expire = $time + 14400; //过期时间        $token  = array(            "username" => $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;        }    }}
 |