px普贤教程PuXian
普贤教程 › 包参考

jwt 包

JSON Web Token(JWS HS256)

项值
包名jwt
版本0.2.0
可用版本0.1.0 / 0.2.0
入口jwt.px
分类认证与安全
文件数 / 行数1 / 197

安装与引入

bash
pxpkg init          # 首次
pxpkg add jwt@0.2.0
pxpkg install
px
import jwt
所属分类教程:认证与安全

公开接口

函数参数
jwt_encodepayload, secret, alg="HS256"
jwt_decodetoken, secret
jwt_decode_attoken, secret, now
其余 8 个 def(内部与辅助,可直接调用但不属稳定接口)
函数参数
jwt_b64url_encodes
jwt_b64url_decodes
jwt_hmac_b64urlsecret, msg
jwt_rs256_signpem_priv, msg
jwt_rs256_verifypem_pub, msg, sig_b64url
jwt_encode_v2payload, secret, alg="HS256"
jwt_decode_at_v2token, secret, now
jwt_decode_v2token, secret

包内说明(源码头注释)

text
============================================================
普贤生态库:registry/jwt —— JSON Web Token(JWS HS256)
------------------------------------------------------------
纯函数库(无 IO、无状态),编译(px build)与解释(px run)双模式一致。
对齐 Go golang-jwt/jwt 心智(HS256 子集,RFC 7519 / RFC 7515):
jwt_encode(payload, secret)      → Ok("h.p.s") | Err(msg)
jwt_decode(token, secret)        → Ok({header, payload}) | Err(msg)(校验签名+exp/nbf)
jwt_decode_at(token, secret, now)→ 同上,now = Unix 秒(可测试)
说明:
- 序列化用 json_stringify_go(排序键)→ 与 Go encoding/json 行为一致
- 签名 = HMAC-SHA256(secret, base64url(header) + "." + base64url(payload))
- base64url = 标准 base64 去 padding,+ → -,/ → _
HS384/HS512 待 SHA-512 native 加入后再扩展(算法表已预留)。
============================================================