Skip to content

Commit

Permalink
add create_empty_credential
Browse files Browse the repository at this point in the history
  • Loading branch information
cataggar committed Jan 12, 2024
1 parent 9cd67ba commit 951e2d1
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 0 deletions.
25 changes: 25 additions & 0 deletions sdk/identity/src/token_credentials/empty_credential.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
use azure_core::auth::{AccessToken, Secret, TokenCredential};
use std::{str, sync::Arc};
use time::{Duration, OffsetDateTime};

#[derive(Debug, Default)]
pub struct EmptyCredential {}

#[cfg_attr(target_arch = "wasm32", async_trait::async_trait(?Send))]
#[cfg_attr(not(target_arch = "wasm32"), async_trait::async_trait)]
impl TokenCredential for EmptyCredential {
/// Returns an empty string as the token.
async fn get_token(&self, _scopes: &[&str]) -> azure_core::Result<AccessToken> {
Ok(AccessToken::new(
Secret::new(String::new()),
OffsetDateTime::now_utc() + Duration::hours(1),
))
}
async fn clear_cache(&self) -> azure_core::Result<()> {
Ok(())
}
}

pub fn create_empty_credential() -> Arc<dyn TokenCredential> {
Arc::new(EmptyCredential::default())
}
2 changes: 2 additions & 0 deletions sdk/identity/src/token_credentials/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ mod cache;
mod client_certificate_credentials;
mod client_secret_credentials;
mod default_credentials;
mod empty_credential;
mod environment_credentials;
mod imds_managed_identity_credentials;
mod workload_identity_credentials;
Expand All @@ -28,6 +29,7 @@ pub use azureauth_cli_credentials::*;
pub use client_certificate_credentials::*;
pub use client_secret_credentials::*;
pub use default_credentials::*;
pub use empty_credential::*;
pub use environment_credentials::*;
pub use imds_managed_identity_credentials::*;
pub use workload_identity_credentials::*;

0 comments on commit 951e2d1

Please sign in to comment.