vta_cli_common/commands/
credentials.rs1use 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}