3个版本 (破坏性更新)
0.3.0 | 2024年6月11日 |
---|---|
0.2.0 | 2022年7月8日 |
0.1.0 | 2021年7月25日 |
在身份验证中排名174
每月下载量255
21KB
304 行
NATS JWT (Rust)
为与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版本 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非你明确声明,否则根据Apache-2.0许可证定义的,你故意提交以包含在工作中的任何贡献,将按上述方式双重许可,没有额外的条款或条件。
依赖
~4–5.5MB
~114K SLoC