Enum tame_oauth::gcp::TokenProviderWrapperInner
source · pub enum TokenProviderWrapperInner {
EndUser(EndUserCredentialsInner),
Metadata(MetadataServerProviderInner),
ServiceAccount(ServiceAccountProviderInner),
}
Expand description
Wrapper around the different providers that are supported. Implements both TokenProvider
and IdTokenProvider
.
Should not be used directly as it is not cached. Use TokenProviderWrapper
instead.
Variants§
EndUser(EndUserCredentialsInner)
Metadata(MetadataServerProviderInner)
ServiceAccount(ServiceAccountProviderInner)
Implementations§
source§impl TokenProviderWrapperInner
impl TokenProviderWrapperInner
sourcepub fn get_default_provider() -> Result<Option<Self>, Error>
pub fn get_default_provider() -> Result<Option<Self>, Error>
Get a TokenProvider
following the “Google Default Credentials” flow.
Returns a uncached token provider, use TokenProviderWrapper::get_default_provider
instead.
pub fn is_service_account_provider(&self) -> bool
pub fn is_metadata_server_provider(&self) -> bool
pub fn is_end_user_credentials_provider(&self) -> bool
Trait Implementations§
source§impl Debug for TokenProviderWrapperInner
impl Debug for TokenProviderWrapperInner
source§impl IdTokenProvider for TokenProviderWrapperInner
impl IdTokenProvider for TokenProviderWrapperInner
source§fn get_id_token(&self, audience: &str) -> Result<IdTokenOrRequest, Error>
fn get_id_token(&self, audience: &str) -> Result<IdTokenOrRequest, Error>
Attempts to retrieve an id token that can be used when communicating via IAP etc.
source§fn get_id_token_with_access_token<S>(
&self,
audience: &str,
response: AccessTokenResponse<S>
) -> Result<IdTokenRequest, Error>
fn get_id_token_with_access_token<S>( &self, audience: &str, response: AccessTokenResponse<S> ) -> Result<IdTokenRequest, Error>
Some token sources require a access token to be used to generte a id token.
If
get_id_token
returns a AccessTokenResponse
, this method should be called.source§impl TokenProvider for TokenProviderWrapperInner
impl TokenProvider for TokenProviderWrapperInner
source§fn get_token_with_subject<'a, S, I, T>(
&self,
subject: Option<T>,
scopes: I
) -> Result<TokenOrRequest, Error>
fn get_token_with_subject<'a, S, I, T>( &self, subject: Option<T>, scopes: I ) -> Result<TokenOrRequest, Error>
Like
TokenProvider::get_token
, but allows the JWT
“subject”
to be passed in.source§fn parse_token_response<S>(
&self,
hash: u64,
response: Response<S>
) -> Result<Token, Error>
fn parse_token_response<S>( &self, hash: u64, response: Response<S> ) -> Result<Token, Error>
Once a response has been received for a token request, call this method
to deserialize the token (and potentially store it in a local cache for
reuse until it expires).
source§fn get_token<'a, S, I>(&self, scopes: I) -> Result<TokenOrRequest, Error>
fn get_token<'a, S, I>(&self, scopes: I) -> Result<TokenOrRequest, Error>
Attempts to retrieve a token that can be used in an API request, if we
haven’t already retrieved a token for the specified scopes, or the token
has expired, an HTTP request is returned that can be used to retrieve a
token. Read more
Auto Trait Implementations§
impl Freeze for TokenProviderWrapperInner
impl RefUnwindSafe for TokenProviderWrapperInner
impl Send for TokenProviderWrapperInner
impl Sync for TokenProviderWrapperInner
impl Unpin for TokenProviderWrapperInner
impl UnwindSafe for TokenProviderWrapperInner
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