3个不稳定版本
0.2.0 | 2022年7月6日 |
---|---|
0.1.1 | 2022年7月4日 |
0.1.0 | 2022年7月4日 |
#360 in 身份认证
56KB
933 行
actix-jwt-authc
支持检查无效化的JWT而不需要为每个请求进行IO调用的Actix中间件。它从Stream中获取无效化的JWT并将它们存储在内存中。
此中间件基于假设,由于JWT(应该)有有效期,最终,一个周期性重新加载的内存中显式无效但未过期的JWT集合不应该太大,以至于造成问题。只有通过测试才能真正回答这个假设是否适用于特定的用例。
用法
- Actix
- jsonwebtoken 用于JWT编码和验证
功能
tracing
通过引入 tracing 来启用仪表化log
通过 tracing 使用兼容层启用日志记录session
启用actix-session
集成,允许您从可配置的会话密钥中提取JWT。
示例
此仓库中包含的示例有
- 一组简单的路由,用于启动和检查当前会话
- 无效化的JWT接口的内存实现
- 从存储中清除过期的JWT的内存循环
- 基于通道的无效化JWT事件流,用于为中间件使用的无效化JWT集合提供动力
- ring 生成用于 EdDSA签名JWT 的Ed25519密钥对
会话和JWT密钥都会实时生成,因此JWT在重启之间是不兼容的。
它支持 tracing
和 session
作为功能。要在8080上运行服务器
cargo run --example inmemory --features tracing,session
支持的端点
/login
用于启动会话/logout
用于销毁当前会话(需要会话)/session
用于检查当前会话(需要会话)/maybe_sesion
用于检查是否存在当前会话
如果未传递 session
,示例中的身份验证依赖于作为 Authorization
标头发送的 Bearer
令牌。
免责声明
本软件按“原样”提供,且作者放弃与此软件有关的所有保证,包括所有默示的适销性和适用性保证。在任何情况下,作者不对任何特殊、直接、间接或后果性损害或任何因使用或性能此软件而导致的任何损害(无论基于合同、疏忽或其他侵权行为)承担责任。
依赖项
~20–35MB
~683K SLoC