pub struct AzureCredentialIssuer { /* private fields */ }Expand description
Issues short-lived Azure credentials via AzureCliCredential.
Works with Azure CLI credentials (az login).
For other auth methods (service principals, managed identity),
use the appropriate credential type from azure_identity.
Implementations§
Source§impl AzureCredentialIssuer
impl AzureCredentialIssuer
Sourcepub fn new() -> Result<Self>
pub fn new() -> Result<Self>
Create a new issuer using AzureCliCredential.
Requires az login to have been run.
Sourcepub async fn issue(&self, ttl: Duration) -> Result<AzureTempCredentials>
pub async fn issue(&self, ttl: Duration) -> Result<AzureTempCredentials>
Get an access token for Azure Resource Manager.
The token is scoped to the ARM management API. The endpoint is derived
from the AZURE_CLOUD env var to support sovereign clouds:
AzureCloud(default): management.azure.comAzureUSGovernment: management.usgovcloudapi.netAzureChinaCloud: management.chinacloudapi.cn
Azure tokens are typically valid for 1 hour. The ttl parameter
controls session metadata only — Azure does not support shorter-lived
tokens on the client side. If ttl is shorter than the token’s actual
expiry, expires_at is set to now + ttl so audex treats the session
as expired at the requested time.
Sourcepub async fn issue_with_optional_scope(
&self,
scope: Option<&str>,
ttl: Duration,
) -> Result<AzureTempCredentials>
pub async fn issue_with_optional_scope( &self, scope: Option<&str>, ttl: Duration, ) -> Result<AzureTempCredentials>
Unified issuance that picks issue_for_scope when a scope is provided
and issue otherwise. Used by the rotation closure so rotated tokens
always target the same audience as the initially issued token (R6-H8).
Sourcepub async fn issue_for_scope(
&self,
scope: &str,
ttl: Duration,
) -> Result<AzureTempCredentials>
pub async fn issue_for_scope( &self, scope: &str, ttl: Duration, ) -> Result<AzureTempCredentials>
Get an access token for a specific Azure service scope.
Scope must be an https:// URL whose domain is an allowed Azure authority
(see AZURE_ALLOWED_SCOPE_DOMAINS).
Auto Trait Implementations§
impl Freeze for AzureCredentialIssuer
impl !RefUnwindSafe for AzureCredentialIssuer
impl Send for AzureCredentialIssuer
impl Sync for AzureCredentialIssuer
impl Unpin for AzureCredentialIssuer
impl UnsafeUnpin for AzureCredentialIssuer
impl !UnwindSafe for AzureCredentialIssuer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more