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.102022年12月12日

#3 in #async-session

Download history 12/week @ 2024-03-08 4/week @ 2024-03-15 60/week @ 2024-03-29 3/week @ 2024-04-05 287/week @ 2024-04-12 2/week @ 2024-04-19

每月261次下载
typed-session-axum 中使用

BSD-2-Clause

68KB
1K SLoC

Rust 中的异步类型会话管理

Version Downloads Docs

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 WuytsJacob Rothstein创建。

许可证

本crate采用BSD-2-Clause许可证

依赖关系

~3.5–9.5MB
~94K SLoC