Skip to main content

TokenService

Trait TokenService 

Source
pub trait TokenService<P>: Send + Sync
where P: Send + Sync,
{ type AccessToken: Send; type RefreshToken: Send; // Required methods fn issue( &self, principal: &P, ) -> BoxFuture<'_, SoapResult<TokenPair<Self::AccessToken, Self::RefreshToken>>>; fn refresh( &self, refresh_token: Self::RefreshToken, ) -> BoxFuture<'_, SoapResult<TokenPair<Self::AccessToken, Self::RefreshToken>>>; fn revoke( &self, refresh_token: Self::RefreshToken, ) -> BoxFuture<'_, SoapResult<()>>; }
Expand description

Token issue, rotation, and revocation application port.

Required Associated Types§

Source

type AccessToken: Send

Concrete access-token representation owned by an implementation package.

Source

type RefreshToken: Send

Concrete refresh-token representation owned by an implementation package.

Required Methods§

Source

fn issue( &self, principal: &P, ) -> BoxFuture<'_, SoapResult<TokenPair<Self::AccessToken, Self::RefreshToken>>>

Issues a new access/refresh pair.

Source

fn refresh( &self, refresh_token: Self::RefreshToken, ) -> BoxFuture<'_, SoapResult<TokenPair<Self::AccessToken, Self::RefreshToken>>>

Validates and rotates a refresh token.

Source

fn revoke( &self, refresh_token: Self::RefreshToken, ) -> BoxFuture<'_, SoapResult<()>>

Revokes a refresh token or its token family.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§