3个版本 (破坏性更新)

0.3.0 2024年6月11日
0.2.0 2022年7月8日
0.1.0 2021年7月25日

身份验证中排名174

Download history • Rust 包仓库 8/week @ 2024-04-28 • Rust 包仓库 26/week @ 2024-05-05 • Rust 包仓库 46/week @ 2024-05-12 • Rust 包仓库 85/week @ 2024-05-19 • Rust 包仓库 69/week @ 2024-05-26 • Rust 包仓库 55/week @ 2024-06-02 • Rust 包仓库 223/week @ 2024-06-09 • Rust 包仓库 100/week @ 2024-06-16 • Rust 包仓库 52/week @ 2024-06-23 • Rust 包仓库 66/week @ 2024-06-30 • Rust 包仓库 25/week @ 2024-07-07 • Rust 包仓库 82/week @ 2024-07-14 • Rust 包仓库 60/week @ 2024-07-21 • Rust 包仓库 79/week @ 2024-07-28 • Rust 包仓库 66/week @ 2024-08-04 • Rust 包仓库 49/week @ 2024-08-11 • Rust 包仓库

每月下载量255

MIT/Apache

21KB
304

NATS JWT (Rust)

Crates.io Crates.io Docs.rs

为与NATS一起使用生成使用NKEYs签名的JWT

支持生成账户和用户JWT,操作员JWT通常不会即时生成,因此不支持,尽管接受添加支持的PR。

示例

use nats_jwt::{KeyPair, Token};

// You would probably load the operator's seed via a config and use KeyPair::from_seed
let operator_signing_key = KeyPair::new_operator();

let account_keypair = KeyPair::new_account();
let account_signing_key = KeyPair::new_account();
let account_token = Token::new_account(account_keypair.public_key())
    .name("My Account")
    .add_signing_key(account_signing_key.public_key())
    .max_connections(100)
    .sign(&operator_signing_key);
println!("account_token: {}", account_token);

let user_keypair = KeyPair::new_user();
let user_key_pub = user_keypair.public_key();
let user_token = Token::new_user(account_keypair.public_key(), user_key_pub)
    .bearer_token(true)
    .name("My User")
    .max_subscriptions(10)
    .max_payload(1024 * 1024) // 1MiB
    .allow_publish("service.hello.world")
    .allow_subscribe("_INBOX.>")
    .sign(&account_signing_key);
println!("user_token: {}", user_token);

许可证

许可方式:

任选其一。

贡献

除非你明确声明,否则根据Apache-2.0许可证定义的,你故意提交以包含在工作中的任何贡献,将按上述方式双重许可,没有额外的条款或条件。

依赖

~4–5.5MB
~114K SLoC