3个版本
0.1.2 | 2023年9月13日 |
---|---|
0.1.1 | 2023年9月12日 |
0.1.0 | 2023年9月12日 |
#429 in 身份验证
26KB
438 行
RustEdgeRc
EdgeRc是一个Rust库,用于对Akamai HTTP请求进行签名。
内容表
安装
在你的项目中添加以下依赖项 Cargo.toml
[dependencies]
edgerc = "0.1.0"
使用
准备配置:
- 读取 .edgerc 文件到字符串。
- 创建一个EdgeRC签名者构建器
- 获取所选部分的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();
创建一个签名
- 使用请求属性准备一个EdgeRCRequest
- 通过传递请求和签名者获取已签名的授权头
- 将头作为授权头的值放入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