pub struct ApiKeyAuth { /* private fields */ }Expand description
API key authentication provider.
Implementations§
Source§impl ApiKeyAuth
impl ApiKeyAuth
Sourcepub fn new() -> ApiKeyAuth
pub fn new() -> ApiKeyAuth
Create a new API key auth provider.
Sourcepub fn with_default_expiry(self, expiry: Duration) -> ApiKeyAuth
pub fn with_default_expiry(self, expiry: Duration) -> ApiKeyAuth
Set default expiration for new keys.
Sourcepub fn add_key(
self,
identity_id: impl Into<String>,
api_key: &str,
permissions: &[&str],
) -> ApiKeyAuth
pub fn add_key( self, identity_id: impl Into<String>, api_key: &str, permissions: &[&str], ) -> ApiKeyAuth
Add an API key.
Sourcepub fn add_key_with_roles(
self,
identity_id: impl Into<String>,
api_key: &str,
permissions: &[&str],
roles: &[&str],
) -> ApiKeyAuth
pub fn add_key_with_roles( self, identity_id: impl Into<String>, api_key: &str, permissions: &[&str], roles: &[&str], ) -> ApiKeyAuth
Add an API key with roles.
Sourcepub fn revoke_key(&self, api_key: &str) -> bool
pub fn revoke_key(&self, api_key: &str) -> bool
Revoke an API key.
Trait Implementations§
Source§impl AuthProvider for ApiKeyAuth
impl AuthProvider for ApiKeyAuth
Source§fn authenticate<'life0, 'life1, 'async_trait>(
&'life0 self,
credentials: &'life1 Credentials,
) -> Pin<Box<dyn Future<Output = Result<AuthContext, AuthError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
ApiKeyAuth: 'async_trait,
fn authenticate<'life0, 'life1, 'async_trait>(
&'life0 self,
credentials: &'life1 Credentials,
) -> Pin<Box<dyn Future<Output = Result<AuthContext, AuthError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
ApiKeyAuth: 'async_trait,
Authenticate credentials and return an auth context.
Source§fn validate<'life0, 'life1, 'async_trait>(
&'life0 self,
context: &'life1 AuthContext,
) -> Pin<Box<dyn Future<Output = Result<(), AuthError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
ApiKeyAuth: 'async_trait,
fn validate<'life0, 'life1, 'async_trait>(
&'life0 self,
context: &'life1 AuthContext,
) -> Pin<Box<dyn Future<Output = Result<(), AuthError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
ApiKeyAuth: 'async_trait,
Validate an existing auth context (e.g., check if still valid).
Source§fn revoke<'life0, 'life1, 'async_trait>(
&'life0 self,
_context: &'life1 AuthContext,
) -> Pin<Box<dyn Future<Output = Result<(), AuthError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
ApiKeyAuth: 'async_trait,
fn revoke<'life0, 'life1, 'async_trait>(
&'life0 self,
_context: &'life1 AuthContext,
) -> Pin<Box<dyn Future<Output = Result<(), AuthError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
ApiKeyAuth: 'async_trait,
Revoke authentication (e.g., invalidate a token).
Source§fn provider_name(&self) -> &str
fn provider_name(&self) -> &str
Get the provider name.
Source§impl Default for ApiKeyAuth
impl Default for ApiKeyAuth
Source§fn default() -> ApiKeyAuth
fn default() -> ApiKeyAuth
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !Freeze for ApiKeyAuth
impl !RefUnwindSafe for ApiKeyAuth
impl Send for ApiKeyAuth
impl Sync for ApiKeyAuth
impl Unpin for ApiKeyAuth
impl UnwindSafe for ApiKeyAuth
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.