pub struct EnhancedClientCredentials {
pub client_id: String,
pub client_secret_hash: String,
pub client_type: ClientType,
pub redirect_uris: Vec<String>,
pub allowed_scopes: Vec<String>,
pub grant_types: Vec<String>,
pub created_at: SystemTime,
pub is_active: bool,
}Expand description
Enhanced client credentials with proper secret validation
Fields§
§client_id: String§client_secret_hash: String§client_type: ClientType§redirect_uris: Vec<String>§allowed_scopes: Vec<String>§grant_types: Vec<String>§created_at: SystemTime§is_active: boolImplementations§
Source§impl EnhancedClientCredentials
impl EnhancedClientCredentials
pub fn new_confidential( client_id: String, client_secret: &str, redirect_uris: Vec<String>, allowed_scopes: Vec<String>, grant_types: Vec<String>, ) -> Result<Self>
pub fn new_public( client_id: String, redirect_uris: Vec<String>, allowed_scopes: Vec<String>, grant_types: Vec<String>, ) -> Self
pub fn validate_secret(&self, provided_secret: &str) -> Result<bool>
pub fn requires_secret(&self) -> bool
pub fn has_scope(&self, scope: &str) -> bool
pub fn supports_grant_type(&self, grant_type: &str) -> bool
Trait Implementations§
Source§impl Clone for EnhancedClientCredentials
impl Clone for EnhancedClientCredentials
Source§fn clone(&self) -> EnhancedClientCredentials
fn clone(&self) -> EnhancedClientCredentials
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for EnhancedClientCredentials
impl Debug for EnhancedClientCredentials
Source§impl<'de> Deserialize<'de> for EnhancedClientCredentials
impl<'de> Deserialize<'de> for EnhancedClientCredentials
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for EnhancedClientCredentials
impl RefUnwindSafe for EnhancedClientCredentials
impl Send for EnhancedClientCredentials
impl Sync for EnhancedClientCredentials
impl Unpin for EnhancedClientCredentials
impl UnwindSafe for EnhancedClientCredentials
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more