pub trait TokenService<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§
Sourcetype AccessToken: Send
type AccessToken: Send
Concrete access-token representation owned by an implementation package.
Sourcetype RefreshToken: Send
type RefreshToken: Send
Concrete refresh-token representation owned by an implementation package.
Required Methods§
Sourcefn issue(
&self,
principal: &P,
) -> BoxFuture<'_, SoapResult<TokenPair<Self::AccessToken, Self::RefreshToken>>>
fn issue( &self, principal: &P, ) -> BoxFuture<'_, SoapResult<TokenPair<Self::AccessToken, Self::RefreshToken>>>
Issues a new access/refresh pair.
Sourcefn refresh(
&self,
refresh_token: Self::RefreshToken,
) -> BoxFuture<'_, SoapResult<TokenPair<Self::AccessToken, Self::RefreshToken>>>
fn refresh( &self, refresh_token: Self::RefreshToken, ) -> BoxFuture<'_, SoapResult<TokenPair<Self::AccessToken, Self::RefreshToken>>>
Validates and rotates a refresh token.
Sourcefn revoke(
&self,
refresh_token: Self::RefreshToken,
) -> BoxFuture<'_, SoapResult<()>>
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".