10次发布
0.1.9 | 2023年12月28日 |
---|---|
0.1.8 | 2023年1月30日 |
0.1.6 | 2022年5月2日 |
0.1.5 | 2021年11月30日 |
0.1.3 | 2021年10月21日 |
#21 in 身份验证
168,831 每月下载量
在 120 个crate中使用 (6 直接)
105KB
2K SLoC
Rust HTTP身份验证库。解析挑战列表,响应Basic
和Digest
挑战。可能扩展以支持服务器和额外的身份验证方案。
以下文档和规范描述了HTTP身份验证
此框架主要用于HTTP,如名称所示。它也被某些其他协议(如RTSP)使用。
状态
经过良好测试,适用于生产。API可能发生变化以改进人体工程学和功能。可能添加新功能。PR欢迎!
目标
按照顺序
- 健壮。目前在http-auth自身中没有任何
unsafe
块。所有依赖项都是常见的、受信任的crate。 - 正确。精确实现了规范(除非有说明)。模糊测试验证手写的解析器永远不会崩溃并匹配基于nom的参考实现。
- 轻量级。最小依赖;使用Cargo功能,调用者可以在不需要时避免它们。简单的代码,最小化单态化膨胀。小型数据结构;例如,
http_auth::DigestClient
目前重32字节,加上一个字符串字段的分配。 - 完整。实现了解析和响应挑战。(目前仅支持客户端和响应最常见的
Basic
和Digest
方案;未来可能扩展。) - 人体工程学。 创建一个响应密码挑战的客户端,只需一行代码即可从字符串标题或
http::header::GetAll
完成。 - 足够快。 HTTP身份验证是实际程序的一部分,而
http-auth
的CPU使用率不应该引起注意。对于Digest
的加密操作,它使用流行的优化包。在其他方面,http-auth
可能与其他HTTP身份验证包一样高效,尽管我没有理由相信它们的性能有问题。
作者
Scott Lamb <[email protected]>
许可证
SPDX-License-Identifier: MIT OR Apache-2.0
依赖项
~110–630KB
~11K SLoC