[][src]Struct oxide_auth::primitives::issuer::IssuedToken

pub struct IssuedToken {
    pub token: String,
    pub refresh: String,
    pub until: DateTime<Utc>,
}

Token parameters returned to a client.

Fields

token: String

The bearer token

refresh: String

The refresh token

until: DateTime<Utc>

Expiration timestamp (Utc).

Technically, a time to live is expected in the response but this will be transformed later. In a direct backend access situation, this enables high precision timestamps.

Methods

impl IssuedToken[src]

pub fn without_refresh(token: String, until: DateTime<Utc>) -> Self[src]

Construct a token that can not be refreshed.

Use this constructor for custom issuers that can not revoke their tokens. Since refresh tokens are both long-lived and more powerful than their access token counterparts, it is more dangerous to have an unrevokable refresh token. This is currently semantically equivalent to an empty refresh token but may change in a future iteration of the interface. While the member attributes may change, this method will not change as quickly and thus offers some additional compatibility.

use oxide_auth::primitives::issuer::{Issuer, IssuedToken};

struct MyIssuer;

impl MyIssuer {
    fn access_token(&mut self, grant: &Grant) -> String {
        // .. your implementation
    }
}

impl Issuer for MyIssuer {
    fn issue(&mut self, mut grant: Grant) -> Result<IssuedToken, ()> {
        let token = self.access_token(&grant);
        Ok(IssuedToken::without_refresh(token, grant.until))
    }
    // …
}

pub fn refreshable(&self) -> bool[src]

Determine if the access token can be refreshed.

Trait Implementations

impl Clone for IssuedToken[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for IssuedToken[src]

Auto Trait Implementations

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Erased for T

impl<T> Typeable for T where
    T: Any

fn get_type(&self) -> TypeId

Get the TypeId of this object.

impl<T> DebugAny for T where
    T: Any + Debug

impl<T> CloneAny for T where
    T: Clone + Any

impl<T> UnsafeAny for T where
    T: Any

impl<T> IntoCollection<T> for T

impl<T, I> AsResult<T, I> for T where
    I: Input,