#ed25519 #actix-web-middleware #actix-middleware #authentication

actix-middleware-ed25519-authentication

一个旨在拒绝没有有效ed25519签名的入站请求的中间件

7个版本

0.3.0 2022年9月28日
0.2.2 2022年9月10日
0.1.2 2022年9月5日

2109加密学

每月下载量 25

MIT/Apache

17KB
211

Ed25519身份验证中间件

一个即插即用的中间件,允许在actix-web服务器上对入站请求进行自动Ed25519身份验证。只需在中间件注册时提供公钥即可验证签名的签名,可选地指定签名和时间戳头部的自定义名称,如果它们不同于 X-Signature-Ed25519X-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