3个版本

0.1.2 2023年9月13日
0.1.1 2023年9月12日
0.1.0 2023年9月12日

#429 in 身份验证

MIT 许可证

26KB
438

RustEdgeRc

EdgeRc是一个Rust库,用于对Akamai HTTP请求进行签名。

Crates.io MIT licensed Build Status

内容表

安装

在你的项目中添加以下依赖项 Cargo.toml

[dependencies]
edgerc = "0.1.0"

使用

准备配置:

  1. 读取 .edgerc 文件到字符串。
  2. 创建一个EdgeRC签名者构建器
  3. 获取所选部分的EdgeRC签名者
let section = "default";
let edgerc_string: String = std::fs::read_to_string("~/.edgerc")?;
let edge_signer = Credentials::build_signer(edgerc_string)
    .get_by_section(section.to_string()).unwrap();

创建一个签名

  1. 使用请求属性准备一个EdgeRCRequest
  2. 通过传递请求和签名者获取已签名的授权头
  3. 将头作为授权头的值放入http请求中

重要: 确保您的http客户端没有修改正文或头。否则将导致无效签名的请求。

let edge_request = EdgeRCRequest {
       method: EdgeRCHttpMethods::POST,
       path: format!("/ccu/v3/invalidate/url/{network}/"),
       query_strings: None,
       canonical_headers: None,
       body_hash: EdgeRCSigner::encode_body(body.to_string(), None),
   };
let signed_authorization_header = signer.get_authorization_header_value(&edge_request);

许可证

本项目采用MIT许可证

贡献

除非您明确表示,否则您有意提交以包含在此[EdgeRC库]中的任何贡献均应按MIT许可,不附加任何额外条款或条件。

依赖项

~4.5–6.5MB
~115K SLoC