7个版本
0.3.0 | 2022年9月28日 |
---|---|
0.2.2 | 2022年9月10日 |
0.1.2 | 2022年9月5日 |
2109 在 加密学 中
每月下载量 25
17KB
211 行
Ed25519身份验证中间件
一个即插即用的中间件,允许在actix-web服务器上对入站请求进行自动Ed25519身份验证。只需在中间件注册时提供公钥即可验证签名的签名,可选地指定签名和时间戳头部的自定义名称,如果它们不同于 X-Signature-Ed25519
或 X-Signature-Timestamp
分别。
如果指定,中间件将拒绝任何不与提供的公钥验证或没有有效头部的入站请求。否则,身份验证信息将以请求扩展中的 AuthenticationInfo
结构体的形式提供。
用法
您可以使用Ed25519身份验证中间件,就像这样将其包装在您的应用周围
示例
使用提供的Ed25519 &public_key
公钥,您可以初始化中间件如下
use actix_middleware_ed25519_authentication::AuthenticatorBuilder;
use actix_web::{web, App, HttpResponse, HttpServer};
HttpServer::new(move || {
App::new()
.wrap(
AuthenticatorBuilder::new()
.public_key(&public_key) // Required
.signature_header("X-Signature-Ed25519") // Optional
.timestamp_header("X-Signature-Timestamp") // Optional
.reject() // Optional
.build() // Required
)
.route("/", web::post().to(HttpResponse::Ok))
})
.bind(("127.0.0.1", 3000))?
.run()
.await
贡献
此crate被动维护,如果您在使用此crate时遇到任何边缘情况或问题,或开发任何有用的扩展想法,请随时开始讨论,打开问题或打开PRs!
致谢
没有这些有用的说明,此crate的工作将无法完成
依赖项
~16–28MB
~504K SLoC