百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
J

jsonwebtoken

> 编程语言
开源

Rust 中的 JWT 库

2.1K stars0 点赞1 次浏览
访问官网GitHub

工具介绍

Rust 中的 JWT 库

jsonwebtoken

有关 JSON Web 令牌是什么的更多信息,请参阅 JSON Web Tokens。

安装

在 Cargo.toml 中添加以下内容:

toml
# You will have to select either `aws_lc_rs` or `rust_crypto` as backend if you're not using your own
jsonwebtoken = { version = "11", features = ["aws_lc_rs"] }
# If you do not need pem decoding, you can disable the default feature `use_pem` that way:
# jsonwebtoken = {version = "11", default-features = false, features = ["aws_lc_rs"] }
serde = {version = "1.0", features = ["derive"] }

通过 aws_lc_rs 和 rust_crypto 两个加密后端可供选择,其中最多只能启用一个。如果您没有选择任何功能,则需要提供自己的 CryptoProvider。 如需了解如何实现 CryptoProvider,请参阅

  • arckoor/jsonwebtoken-providers 所需的最低 Rust 版本 (MSRV) 由本项目的 Cargo.toml 中的 Rust-version 字段指定。

算法

本库目前支持以下内容:

  • HS256
  • HS384
  • HS512
  • RS256
  • RS384
  • RS512
  • PS256
  • PS384
  • PS512
  • ES256
  • ES384
  • EdDSA

如何使用

完整的示例可在 examples 目录中找到:一个基本示例和一个带自定义标头的示例。 就进口和结构而言:

rust
use serde::{Serialize, Deserialize};
use jsonwebtoken::{encode, decode, Header, Extras, Algorithm, Validation, EncodingKey, DecodingKey};

/// Our claims struct, it needs to derive `Serialize` and/or `Deserialize`
#[derive(Debug, Serialize, Deserialize)]
struct Claims {
    sub: String,
    company: String,
    exp: usize,
}

索赔

可以验证的声明字段。(参见 验证)

rust
#[derive(Debug, Serialize, Deserialize)]
struct Claims {
aud: String,         // 可选。 受众
exp: usize,          // 可选 (validate_exp 在验证时默认为 true)。过期时间 (以 UTC 时间戳表示)
iat: usize,          // 可选。在 (以 UTC 时间戳表示)
iss: String,         // 可选。发行人
n

[API documentation on docs.rs](https://docs.rs/jsonwebtoken/)

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Rustjsonwebtokenjwtrust

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言