3 unstable releases
0.2.1 | Sep 30, 2024 |
---|---|
0.2.0 | Sep 30, 2024 |
0.1.0 | Aug 20, 2024 |
#272 in Authentication
28KB
497 lines
ids-daps-client
This is a Rust client library to interact with the Dynamic Attribute Provisioning Service (DAPS) in the latest IDS Reference Architecture Model (RAM 4).
For further information and usage see the crate documentation.
References
lib.rs
:
ids-daps
The ids-daps
crate provides a rust client for the Dynamic Attribute Token Service (DAPS) of
the Reference Architecture Model 4 (RAM 4) of the International Data Spaces Association (IDSA).
Usage
use ids_daps_client::{config::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_u64)
.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(())
}
Dependencies
~9–21MB
~317K SLoC