Skip to main content

vta_cli_common/commands/
credentials.rs

1use vta_sdk::prelude::*;
2
3use super::acl::validate_role;
4
5pub async fn cmd_auth_credential_create(
6    client: &VtaClient,
7    role: String,
8    label: Option<String>,
9    contexts: Vec<String>,
10) -> Result<(), Box<dyn std::error::Error>> {
11    validate_role(&role)?;
12    let mut req = GenerateCredentialsRequest::new(role).contexts(contexts);
13    if let Some(l) = label {
14        req = req.label(l);
15    }
16    let resp = client.generate_credentials(req).await?;
17    println!("Credentials generated:");
18    println!("  DID:  {}", resp.did);
19    println!("  Role: {}", resp.role);
20    println!();
21    println!("Credential (one-time secret — save this now):");
22    println!("{}", resp.credential);
23    Ok(())
24}