pub struct OAuth2Server { /* private fields */ }Expand description
OAuth2 authorization server
Implementations§
Source§impl OAuth2Server
impl OAuth2Server
pub fn new(jwt_secret: &[u8]) -> Self
Sourcepub fn register_client(
&self,
name: String,
redirect_uris: Vec<String>,
grant_types: Vec<GrantType>,
scopes: Vec<Scope>,
) -> OAuth2Client
pub fn register_client( &self, name: String, redirect_uris: Vec<String>, grant_types: Vec<GrantType>, scopes: Vec<Scope>, ) -> OAuth2Client
Register a new OAuth2 client
Sourcepub fn get_client(&self, client_id: &str) -> Option<OAuth2Client>
pub fn get_client(&self, client_id: &str) -> Option<OAuth2Client>
Get client by ID
Authorize request (Authorization Code Flow)
Sourcepub fn exchange_code(
&self,
client_id: &str,
client_secret: &str,
code: &str,
redirect_uri: &str,
code_verifier: Option<&str>,
) -> AuthResult<(AccessToken, RefreshToken)>
pub fn exchange_code( &self, client_id: &str, client_secret: &str, code: &str, redirect_uri: &str, code_verifier: Option<&str>, ) -> AuthResult<(AccessToken, RefreshToken)>
Exchange authorization code for tokens
Sourcepub fn client_credentials(
&self,
client_id: &str,
client_secret: &str,
scopes: Vec<Scope>,
) -> AuthResult<AccessToken>
pub fn client_credentials( &self, client_id: &str, client_secret: &str, scopes: Vec<Scope>, ) -> AuthResult<AccessToken>
Client Credentials Flow
Sourcepub fn refresh_token(
&self,
client_id: &str,
client_secret: &str,
refresh_token: &str,
) -> AuthResult<AccessToken>
pub fn refresh_token( &self, client_id: &str, client_secret: &str, refresh_token: &str, ) -> AuthResult<AccessToken>
Refresh access token
Sourcepub fn validate_token(&self, token: &str) -> AuthResult<AccessToken>
pub fn validate_token(&self, token: &str) -> AuthResult<AccessToken>
Validate access token
Sourcepub fn revoke_access_token(&self, token: &str) -> bool
pub fn revoke_access_token(&self, token: &str) -> bool
Revoke access token
Sourcepub fn revoke_refresh_token(&self, token: &str) -> bool
pub fn revoke_refresh_token(&self, token: &str) -> bool
Revoke refresh token
Sourcepub fn cleanup_expired(&self)
pub fn cleanup_expired(&self)
Clean up expired tokens and codes
Trait Implementations§
Auto Trait Implementations§
impl Freeze for OAuth2Server
impl !RefUnwindSafe for OAuth2Server
impl Send for OAuth2Server
impl Sync for OAuth2Server
impl Unpin for OAuth2Server
impl !UnwindSafe for OAuth2Server
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.