31 个版本 (8 个重大更新)
0.9.0 | 2023年9月30日 |
---|---|
0.8.0 | 2023年8月20日 |
0.7.0 | 2023年7月4日 |
0.3.0 | 2023年3月17日 |
0.1.0-alpha.10 | 2022年12月12日 |
#3 in #async-session
每月261次下载
在 typed-session-axum 中使用
68KB
1K SLoC
Rust 中的异步类型会话管理
API 文档:docs.rs
使用 typed-session 将会话管理的所有底层细节(如会话 过期、自动 更新 以及会话数据的 变更跟踪)外包出去。typed-session 是为了满足 OWASP® 基金会的会话 安全 标准,同时注重 效率 和 可用性 而设计的。借助 typed-session,您可以充分利用 Rust 的类型系统来模拟用户的会话。
兼容性
Typed session 作为网页框架中的中间件,根据需要将会话信息注入 HTTP 请求,并将会话存储在数据库中。
目前,以下 会话存储 可用:
MemoryStore
,一个在功能标志memory-store
下可用的调试会话存储。
目前,typed-session 已集成到以下 网页框架 中:
- 目前尚无
Typed-session 对任何特定的异步运行时没有依赖,因此可以与任何运行时一起使用。
安全性
我们在设计中考虑了安全性。我们的设计满足 OWASP® 基金会关于 会话管理 的要求。我们还在存储之前使用快速安全的哈希函数 blake3 对会话 ID 进行哈希处理。为了减轻可利用的漏洞,我们使用 #![forbid(unsafe_code)]
确保所有内容都是用 100% 安全的 Rust 实现的。
有关详细信息,请参阅 crate 级别文档。
到目前为止,这个crate尚未经过安全审查。如果您具备必要的技能并希望为开源项目做出贡献,请与我们联系。
贡献
想加入我们吗?请查看我们的“贡献”指南并查看一些这些问题
您有意提交并包含在作品中的任何贡献都应按照BSD-2-Clause许可证进行许可。
致谢
本作品基于async-session crate,由Yoshua Wuyts和Jacob Rothstein创建。
许可证
本crate采用BSD-2-Clause许可证。
依赖关系
~3.5–9.5MB
~94K SLoC