1 个不稳定版本
新 0.1.0 | 2024 年 8 月 20 日 |
---|
#11 in #client-connect
26KB
429 代码行
ids-daps-client
这是一个用于与最新 IDS 参考架构模型(RAM 4)中的动态属性提供程序(DAPS)交互的 Rust 客户端库动态属性提供程序(DAPS)。
有关更多信息和使用方法,请参阅库文档。
参考
lib.rs
:
ids-daps
该 ids-daps
库为国际数据空间协会(IDSA)的参考架构模型 4(RAM 4)的动态属性令牌服务(DAPS)提供了 Rust 客户端。
用法
use ids_daps_client::{DapsConfigBuilder, DapsClient, ReqwestDapsClient};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
#
#
#
// Create a DAPS client configuration
let config = DapsConfigBuilder::default()
.certs_url(certs_url)
.token_url(token_url)
.private_key(std::path::Path::new("./testdata/connector-certificate.p12"))
.private_key_password(Some(std::borrow::Cow::from("Password1")))
.scope(std::borrow::Cow::from("idsc:IDS_CONNECTORS_ALL"))
.certs_cache_ttl(1)
.build()
.expect("Failed to build DAPS-Config");
// Create DAPS client
let client: ReqwestDapsClient<'_> = DapsClient::new(&config);
// Request a DAT token
let dat = client.request_dat().await?;
println!("DAT Token: {:?}", dat);
// Validate the DAT token
if client.validate_dat(&dat).await.is_ok() {
println!("Validation successful");
}
Ok(())
}
依赖关系
~8–20MB
~328K SLoC