普贤教程 › 包参考
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_encode | payload, secret, alg="HS256" |
jwt_decode | token, secret |
jwt_decode_at | token, secret, now |
其余 8 个 def(内部与辅助,可直接调用但不属稳定接口)
| 函数 | 参数 |
|---|---|
jwt_b64url_encode | s |
jwt_b64url_decode | s |
jwt_hmac_b64url | secret, msg |
jwt_rs256_sign | pem_priv, msg |
jwt_rs256_verify | pem_pub, msg, sig_b64url |
jwt_encode_v2 | payload, secret, alg="HS256" |
jwt_decode_at_v2 | token, secret, now |
jwt_decode_v2 | token, 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 加入后再扩展(算法表已预留)。 ============================================================