hutool.jwt

JWT工具类

Module Contents

Classes

JWTUtil

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字符串