#[non_exhaustive]
pub enum StandardRevocableToken { AccessToken(AccessToken), RefreshToken(RefreshToken), }
Expand description

A token representation usable with authorization servers that support RFC 7009 token revocation.

For use with revoke_token().

Automatically reports the correct RFC 7009 token_type_hint value corresponding to the token type variant used, i.e. access_token for AccessToken and secret_token for RefreshToken.

Example

Per RFC 7009, Section 2 prefer revocation by refresh token which, if issued to the client, must be supported by the server, otherwise fallback to access token (which may or may not be supported by the server).

let token_to_revoke: StandardRevocableToken = match token_response.refresh_token() {
    Some(token) => token.into(),
    None => token_response.access_token().into(),
};

client
    .revoke_token(token_to_revoke)
    .request(http_client)
    .unwrap();

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

AccessToken(AccessToken)

A representation of an AccessToken suitable for use with revoke_token().

§

RefreshToken(RefreshToken)

A representation of an RefreshToken suitable for use with revoke_token().

Trait Implementations§

source§

impl Clone for StandardRevocableToken

source§

fn clone(&self) -> StandardRevocableToken

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for StandardRevocableToken

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for StandardRevocableToken

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl From<&AccessToken> for StandardRevocableToken

source§

fn from(token: &AccessToken) -> Self

Converts to this type from the input type.
source§

impl From<&RefreshToken> for StandardRevocableToken

source§

fn from(token: &RefreshToken) -> Self

Converts to this type from the input type.
source§

impl From<AccessToken> for StandardRevocableToken

source§

fn from(token: AccessToken) -> Self

Converts to this type from the input type.
source§

impl From<RefreshToken> for StandardRevocableToken

source§

fn from(token: RefreshToken) -> Self

Converts to this type from the input type.
source§

impl RevocableToken for StandardRevocableToken

source§

fn type_hint(&self) -> Option<&str>

Indicates the type of the token to be revoked, as defined by RFC 7009, Section 2.1, i.e.:

source§

fn secret(&self) -> &str

The actual token value to be revoked.
source§

impl Serialize for StandardRevocableToken

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,