[][src]Struct oxide_auth::endpoint::RefreshFlow

pub struct RefreshFlow<E, R> where
    E: Endpoint<R>,
    R: WebRequest
{ /* fields omitted */ }

Takes requests from clients to refresh their access tokens.

Methods

impl<E, R> RefreshFlow<E, R> where
    E: Endpoint<R>,
    R: WebRequest
[src]

pub fn prepare(endpoint: E) -> Result<Self, E::Error>[src]

Wrap the endpoint if it supports handling refresh requests.

Also binds the endpoint to the particular WebRequest type through the type system. The endpoint needs to provide (return Some):

  • a Registrar from registrar
  • an Issuer from issuer_mut

Panics

Indirectly execute may panic when this flow is instantiated with an inconsistent endpoint, for details see the documentation of Endpoint and execute. For consistent endpoints, the panic is instead caught as an error here.

pub fn execute(&mut self, request: R) -> Result<R::Response, E::Error>[src]

Use the checked endpoint to refresh a token.

Panics

When the registrar, authorizer, or issuer returned by the endpoint is suddenly None when previously it was Some(_).

Auto Trait Implementations

impl<E, R> Unpin for RefreshFlow<E, R> where
    E: Unpin,
    R: Unpin

impl<E, R> Send for RefreshFlow<E, R> where
    E: Send,
    R: Send

impl<E, R> Sync for RefreshFlow<E, R> where
    E: Sync,
    R: Sync

impl<E, R> RefUnwindSafe for RefreshFlow<E, R> where
    E: RefUnwindSafe,
    R: RefUnwindSafe

impl<E, R> UnwindSafe for RefreshFlow<E, R> where
    E: UnwindSafe,
    R: UnwindSafe

Blanket Implementations

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

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

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> UnsafeAny for T where
    T: Any

impl<T> IntoCollection<T> for T

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