Trait Issuer

Source
pub trait Issuer {
    // Required methods
    fn issue(&mut self, grant: Grant) -> Result<IssuedToken, ()>;
    fn refresh(
        &mut self,
        _refresh: &str,
        _grant: Grant,
    ) -> Result<RefreshedToken, ()>;
    fn recover_token<'a>(&'a self, _: &'a str) -> Result<Option<Grant>, ()>;
    fn recover_refresh<'a>(&'a self, _: &'a str) -> Result<Option<Grant>, ()>;
}
Expand description

Issuers create bearer tokens.

It’s the issuers decision whether a refresh token is offered or not. In any case, it is also responsible for determining the validity and parameters of any possible token string. Some backends or frontends may decide not to propagate the refresh token (for example because they do not intend to offer a statefull refresh api).

Required Methods§

Source

fn issue(&mut self, grant: Grant) -> Result<IssuedToken, ()>

Create a token authorizing the request parameters

Source

fn refresh( &mut self, _refresh: &str, _grant: Grant, ) -> Result<RefreshedToken, ()>

Refresh a token.

Source

fn recover_token<'a>(&'a self, _: &'a str) -> Result<Option<Grant>, ()>

Get the values corresponding to a bearer token

Source

fn recover_refresh<'a>(&'a self, _: &'a str) -> Result<Option<Grant>, ()>

Get the values corresponding to a refresh token

Implementations on Foreign Types§

Source§

impl<'s, I: Issuer + ?Sized> Issuer for &'s mut I

Source§

fn issue(&mut self, grant: Grant) -> Result<IssuedToken, ()>

Source§

fn refresh(&mut self, token: &str, grant: Grant) -> Result<RefreshedToken, ()>

Source§

fn recover_token<'a>(&'a self, token: &'a str) -> Result<Option<Grant>, ()>

Source§

fn recover_refresh<'a>(&'a self, token: &'a str) -> Result<Option<Grant>, ()>

Source§

impl<'s, I: Issuer + ?Sized> Issuer for MutexGuard<'s, I>

Source§

fn issue(&mut self, grant: Grant) -> Result<IssuedToken, ()>

Source§

fn refresh(&mut self, token: &str, grant: Grant) -> Result<RefreshedToken, ()>

Source§

fn recover_token<'a>(&'a self, token: &'a str) -> Result<Option<Grant>, ()>

Source§

fn recover_refresh<'a>(&'a self, token: &'a str) -> Result<Option<Grant>, ()>

Source§

impl<'s, I: Issuer + ?Sized> Issuer for RwLockWriteGuard<'s, I>

Source§

fn issue(&mut self, grant: Grant) -> Result<IssuedToken, ()>

Source§

fn refresh(&mut self, token: &str, grant: Grant) -> Result<RefreshedToken, ()>

Source§

fn recover_token<'a>(&'a self, token: &'a str) -> Result<Option<Grant>, ()>

Source§

fn recover_refresh<'a>(&'a self, token: &'a str) -> Result<Option<Grant>, ()>

Source§

impl<I: Issuer + ?Sized> Issuer for Box<I>

Source§

fn issue(&mut self, grant: Grant) -> Result<IssuedToken, ()>

Source§

fn refresh(&mut self, token: &str, grant: Grant) -> Result<RefreshedToken, ()>

Source§

fn recover_token<'a>(&'a self, token: &'a str) -> Result<Option<Grant>, ()>

Source§

fn recover_refresh<'a>(&'a self, token: &'a str) -> Result<Option<Grant>, ()>

Implementors§