pub struct RefreshingAuthTokenProvider { /* private fields */ }Expand description
Keeps a short-lived service token warm and returns only usable tokens.
Construction starts a background refresh. Concurrent refreshes are
single-flighted, and a failed early refresh leaves the last usable token in
place. token returns only a token that remains usable
for at least 30 seconds.
Implementations§
Source§impl RefreshingAuthTokenProvider
impl RefreshingAuthTokenProvider
Sourcepub fn new(source: TokenSource) -> Self
pub fn new(source: TokenSource) -> Self
Wrap a token source with background warming and early refresh.
Source§impl RefreshingAuthTokenProvider
impl RefreshingAuthTokenProvider
Sourcepub async fn token(&self) -> CredentialResult<Option<Token>>
pub async fn token(&self) -> CredentialResult<Option<Token>>
A usable token, or None when this provider has no credentials to offer.
Sourcepub async fn cached_token(&self) -> CredentialResult<Option<Token>>
pub async fn cached_token(&self) -> CredentialResult<Option<Token>>
A token this provider already holds, without network requests or prompts.
Trait Implementations§
Source§impl Debug for RefreshingAuthTokenProvider
impl Debug for RefreshingAuthTokenProvider
Source§impl Drop for RefreshingAuthTokenProvider
impl Drop for RefreshingAuthTokenProvider
Source§impl From<RefreshingAuthTokenProvider> for TokenSource
impl From<RefreshingAuthTokenProvider> for TokenSource
Source§fn from(provider: RefreshingAuthTokenProvider) -> Self
fn from(provider: RefreshingAuthTokenProvider) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl !RefUnwindSafe for RefreshingAuthTokenProvider
impl !UnwindSafe for RefreshingAuthTokenProvider
impl Freeze for RefreshingAuthTokenProvider
impl Send for RefreshingAuthTokenProvider
impl Sync for RefreshingAuthTokenProvider
impl Unpin for RefreshingAuthTokenProvider
impl UnsafeUnpin for RefreshingAuthTokenProvider
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
Mutably borrows from an owned value. Read more