hutool.jwt¶
JWT工具类
Module Contents¶
Classes¶
JWT工具类 |
API¶
- class hutool.jwt.JWTUtil¶
JWT工具类
- static create_token(payload: dict, secret: str, algorithm: str = 'HS256') str¶
创建JWT token
- 参数:
payload – 载荷数据
secret – 密钥
algorithm – 加密算法,默认为 ‘HS256’
- 返回:
JWT token字符串
- static parse_token(token: str, secret: str, algorithm: str = 'HS256') dict¶
解析并验证JWT token
- 参数:
token – JWT token字符串
secret – 密钥
algorithm – 加密算法,默认为 ‘HS256’
- 返回:
解析后的载荷数据
- 抛出:
jwt.ExpiredSignatureError – token已过期
jwt.InvalidTokenError – token无效
- static verify(token: str, secret: str, algorithm: str = 'HS256') bool¶
验证token是否有效
- 参数:
token – JWT token字符串
secret – 密钥
algorithm – 加密算法,默认为 ‘HS256’
- 返回:
token是否有效
- static get_payload(token: str) dict¶
获取token的payload(不验证签名)
- 参数:
token – JWT token字符串
- 返回:
解析后的载荷数据
- 抛出:
jwt.DecodeError – token格式无效
- static create_token_with_expire(payload: dict, secret: str, expire_seconds: int = 3600, algorithm: str = 'HS256') str¶
创建带过期时间的JWT token
- 参数:
payload – 载荷数据
secret – 密钥
expire_seconds – 过期时间(秒),默认3600
algorithm – 算法
- 返回:
JWT token字符串
- static parse_header(token: str) dict¶
获取token的header部分(不验证签名)
- 参数:
token – JWT token字符串
- 返回:
header字典
- static is_expired(token: str) bool¶
判断token是否已过期
- 参数:
token – JWT token字符串
- 返回:
是否已过期
- static get_claim(token: str, claim_name: str)¶
获取token中的指定声明(不验证签名)
- 参数:
token – JWT token字符串
claim_name – 声明名称
- 返回:
声明值,不存在返回None
- static generate_key(algorithm: str = 'HS256') bytes¶
生成JWT签名密钥
- 参数:
algorithm – 算法
- 返回:
随机密钥
- static create_token_with_claims(secret: str, algorithm: str = 'HS256', issuer: Optional[str] = None, subject: Optional[str] = None, audience: Optional[str] = None, expire_seconds: int = 3600, **extra_claims) str¶
创建包含标准声明的JWT token
- 参数:
secret – 密钥
algorithm – 算法
issuer – 签发者
subject – 主题
audience – 受众
expire_seconds – 过期时间
extra_claims – 额外声明
- 返回:
JWT token字符串