7个不稳定版本
0.4.0 | 2020年5月29日 |
---|---|
0.3.0 | 2017年5月3日 |
0.2.3 | 2016年12月31日 |
0.2.2 | 2016年10月21日 |
0.1.1 | 2016年6月27日 |
#1247 in 编码
每月21次下载
12KB
189 行
Rebel Web Tokens
出于许多原因,我不是特别喜欢直接在包管理器中搜索任务X相关的第一个库。其中一个很大的原因是,我偶尔会担心所谓的“自杀式标准”。是的,我知道一些人聚在一起,决定插入标准在这里是一种好的做事方式,但万一我不认同呢?
...在这种情况下,我对应该包含在JWT中、告诉我使用什么算法解码它的头部信息这一想法有所保留。我知道算法,伙计们;这是我的应用程序,我是制作令牌的人。请合理一些。
我对现有的Rust JWT实现也不太感冒,因为它们似乎都很有意见,认为我的负载应该是什么样子。这对我来说也不合理,所以我这里没有这样做。实际上,我几乎什么都没做,这一点很容易看出:这个库最初只有118行代码,其中大约有50行是用于将其他库的错误转换为我的错误。
tl;dr: 没有包含大杂烩。
特性
- 序列化和签名任何实现
serde::ser::Serialize
的负载 - 反序列化和验证任何实现
serde::de::Deserialize
的负载 - 拒绝浪费位在JWT头部
- 毫不关心
更新
0.3.0
- 支持serde 1.0。当然,这意味着我们不再支持低于该版本的任何版本...这也需要一些API更改。
- 其中之一是,现在
FromStr
在Rwt
上的实现是为同时实现FromStr
的负载实现的,而不是为直接实现Deserialize
的负载实现的。 - 此外,现在
Rwt(T)
直接实现了Serialize
和Deserialize
,对于任何T
都执行相同的操作。 - 已添加文档。
- 最后,我重新格式化了这个列表,并决定将最新的更改放在顶部。
0.2.3
- 为了避免潜在的定时攻击向量,我们现在使用
crypto::util::fixed_time_eq
来验证令牌签名。感谢 @Philipp91 提供这一功能。
0.2.1
Rwt
结构现在实现了Eq
和PartialEq
。这主要是为了支持测试;对于最终用户来说,这是否有任何实际用途对我来说是个谜。
路线图
允许选择算法吗?
就我个人而言,我认为这几乎没有价值,但听起来很有趣去实现。
许可证
根据您的选择,许可如下
- Apache License,版本 2.0,(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
贡献
除非您明确声明,否则根据 Apache-2.0 许可证定义的,您有意提交以包含在作品中的任何贡献,将按上述方式双许可,不附加任何额外条款或条件。
依赖关系
约 5.5MB
约 88K SLoC