Skip to main content

vta_cli_common/commands/
credentials.rs

1use vta_sdk::client::{GenerateCredentialsRequest, VtaClient};
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 req = GenerateCredentialsRequest {
13        role,
14        label,
15        allowed_contexts: contexts,
16    };
17    let resp = client.generate_credentials(req).await?;
18    println!("Credentials generated:");
19    println!("  DID:  {}", resp.did);
20    println!("  Role: {}", resp.role);
21    println!();
22    println!("Credential (one-time secret — save this now):");
23    println!("{}", resp.credential);
24    Ok(())
25}