pub struct AuthAdapterSqlite { /* private fields */ }Implementations§
Trait Implementations§
Source§impl AuthAdapter for AuthAdapterSqlite
impl AuthAdapter for AuthAdapterSqlite
Source§fn validate_access_token<'life0, 'life1, 'async_trait>(
&'life0 self,
tn_id: TnId,
token: &'life1 str,
) -> Pin<Box<dyn Future<Output = ClResult<AuthCtx>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn validate_access_token<'life0, 'life1, 'async_trait>(
&'life0 self,
tn_id: TnId,
token: &'life1 str,
) -> Pin<Box<dyn Future<Output = ClResult<AuthCtx>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Validates an access token and returns the user context
Source§fn read_id_tag<'life0, 'async_trait>(
&'life0 self,
tn_id: TnId,
) -> Pin<Box<dyn Future<Output = ClResult<Box<str>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn read_id_tag<'life0, 'async_trait>(
&'life0 self,
tn_id: TnId,
) -> Pin<Box<dyn Future<Output = ClResult<Box<str>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Profiles Read more
Source§fn read_tn_id<'life0, 'life1, 'async_trait>(
&'life0 self,
id_tag: &'life1 str,
) -> Pin<Box<dyn Future<Output = ClResult<TnId>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn read_tn_id<'life0, 'life1, 'async_trait>(
&'life0 self,
id_tag: &'life1 str,
) -> Pin<Box<dyn Future<Output = ClResult<TnId>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Reads the ID the given tenant, referenced by its ID tag
Source§fn read_tenant<'life0, 'life1, 'async_trait>(
&'life0 self,
id_tag: &'life1 str,
) -> Pin<Box<dyn Future<Output = ClResult<AuthProfile>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn read_tenant<'life0, 'life1, 'async_trait>(
&'life0 self,
id_tag: &'life1 str,
) -> Pin<Box<dyn Future<Output = ClResult<AuthProfile>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Reads a tenant profile
Source§fn create_tenant_registration<'life0, 'life1, 'async_trait>(
&'life0 self,
email: &'life1 str,
) -> Pin<Box<dyn Future<Output = ClResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create_tenant_registration<'life0, 'life1, 'async_trait>(
&'life0 self,
email: &'life1 str,
) -> Pin<Box<dyn Future<Output = ClResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Creates a tenant registration
Source§fn create_tenant<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id_tag: &'life1 str,
data: CreateTenantData<'life2>,
) -> Pin<Box<dyn Future<Output = ClResult<TnId>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn create_tenant<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id_tag: &'life1 str,
data: CreateTenantData<'life2>,
) -> Pin<Box<dyn Future<Output = ClResult<TnId>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Creates a new tenant
Source§fn delete_tenant<'life0, 'life1, 'async_trait>(
&'life0 self,
id_tag: &'life1 str,
) -> Pin<Box<dyn Future<Output = ClResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_tenant<'life0, 'life1, 'async_trait>(
&'life0 self,
id_tag: &'life1 str,
) -> Pin<Box<dyn Future<Output = ClResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Deletes a tenant
Source§fn list_tenants<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
opts: &'life1 ListTenantsOptions<'life2>,
) -> Pin<Box<dyn Future<Output = ClResult<Vec<TenantListItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn list_tenants<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
opts: &'life1 ListTenantsOptions<'life2>,
) -> Pin<Box<dyn Future<Output = ClResult<Vec<TenantListItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Lists all tenants (for admin use)
fn create_tenant_login<'life0, 'life1, 'async_trait>(
&'life0 self,
id_tag: &'life1 str,
) -> Pin<Box<dyn Future<Output = ClResult<AuthLogin>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn check_tenant_password<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id_tag: &'life1 str,
password: &'life2 str,
) -> Pin<Box<dyn Future<Output = ClResult<AuthLogin>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn update_tenant_password<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id_tag: &'life1 str,
password: &'life2 str,
) -> Pin<Box<dyn Future<Output = ClResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn update_idp_api_key<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id_tag: &'life1 str,
api_key: &'life2 str,
) -> Pin<Box<dyn Future<Output = ClResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn create_cert<'life0, 'life1, 'async_trait>(
&'life0 self,
cert_data: &'life1 CertData,
) -> Pin<Box<dyn Future<Output = ClResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn read_cert_by_tn_id<'life0, 'async_trait>(
&'life0 self,
tn_id: TnId,
) -> Pin<Box<dyn Future<Output = ClResult<CertData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn read_cert_by_id_tag<'life0, 'life1, 'async_trait>(
&'life0 self,
id_tag: &'life1 str,
) -> Pin<Box<dyn Future<Output = ClResult<CertData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn read_cert_by_domain<'life0, 'life1, 'async_trait>(
&'life0 self,
domain: &'life1 str,
) -> Pin<Box<dyn Future<Output = ClResult<CertData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_all_certs<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = ClResult<Vec<CertData>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_tenants_needing_cert_renewal<'life0, 'async_trait>(
&'life0 self,
renewal_days: u32,
) -> Pin<Box<dyn Future<Output = ClResult<Vec<(TnId, Box<str>)>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_profile_keys<'life0, 'async_trait>(
&'life0 self,
tn_id: TnId,
) -> Pin<Box<dyn Future<Output = ClResult<Vec<AuthKey>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn read_profile_key<'life0, 'life1, 'async_trait>(
&'life0 self,
tn_id: TnId,
key_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = ClResult<AuthKey>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create_profile_key<'life0, 'async_trait>(
&'life0 self,
tn_id: TnId,
expires_at: Option<Timestamp>,
) -> Pin<Box<dyn Future<Output = ClResult<AuthKey>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_access_token<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
tn_id: TnId,
data: &'life1 AccessToken<&'life2 str>,
) -> Pin<Box<dyn Future<Output = ClResult<Box<str>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn create_action_token<'life0, 'async_trait>(
&'life0 self,
tn_id: TnId,
action: CreateAction,
) -> Pin<Box<dyn Future<Output = ClResult<Box<str>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_proxy_token<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
tn_id: TnId,
id_tag: &'life1 str,
roles: &'life2 [Box<str>],
) -> Pin<Box<dyn Future<Output = ClResult<Box<str>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn verify_access_token<'life0, 'life1, 'async_trait>(
&'life0 self,
token: &'life1 str,
) -> Pin<Box<dyn Future<Output = ClResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn read_vapid_key<'life0, 'async_trait>(
&'life0 self,
tn_id: TnId,
) -> Pin<Box<dyn Future<Output = ClResult<KeyPair>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn read_vapid_public_key<'life0, 'async_trait>(
&'life0 self,
tn_id: TnId,
) -> Pin<Box<dyn Future<Output = ClResult<Box<str>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_vapid_key<'life0, 'async_trait>(
&'life0 self,
tn_id: TnId,
) -> Pin<Box<dyn Future<Output = ClResult<KeyPair>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn update_vapid_key<'life0, 'life1, 'async_trait>(
&'life0 self,
tn_id: TnId,
key: &'life1 KeyPair,
) -> Pin<Box<dyn Future<Output = ClResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn read_var<'life0, 'life1, 'async_trait>(
&'life0 self,
tn_id: TnId,
var: &'life1 str,
) -> Pin<Box<dyn Future<Output = ClResult<Box<str>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update_var<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
tn_id: TnId,
var: &'life1 str,
value: &'life2 str,
) -> Pin<Box<dyn Future<Output = ClResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn list_webauthn_credentials<'life0, 'async_trait>(
&'life0 self,
tn_id: TnId,
) -> Pin<Box<dyn Future<Output = ClResult<Box<[Webauthn<'_>]>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn read_webauthn_credential<'life0, 'life1, 'async_trait>(
&'life0 self,
tn_id: TnId,
credential_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = ClResult<Webauthn<'_>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create_webauthn_credential<'life0, 'life1, 'async_trait>(
&'life0 self,
tn_id: TnId,
data: &'life1 Webauthn<'_>,
) -> Pin<Box<dyn Future<Output = ClResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update_webauthn_credential_counter<'life0, 'life1, 'async_trait>(
&'life0 self,
tn_id: TnId,
credential_id: &'life1 str,
counter: u32,
) -> Pin<Box<dyn Future<Output = ClResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_webauthn_credential<'life0, 'life1, 'async_trait>(
&'life0 self,
tn_id: TnId,
credential_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = ClResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create_api_key<'life0, 'life1, 'async_trait>(
&'life0 self,
tn_id: TnId,
opts: CreateApiKeyOptions<'life1>,
) -> Pin<Box<dyn Future<Output = ClResult<CreatedApiKey>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn validate_api_key<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 str,
) -> Pin<Box<dyn Future<Output = ClResult<ApiKeyValidation>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_api_keys<'life0, 'async_trait>(
&'life0 self,
tn_id: TnId,
) -> Pin<Box<dyn Future<Output = ClResult<Vec<ApiKeyInfo>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn read_api_key<'life0, 'async_trait>(
&'life0 self,
tn_id: TnId,
key_id: i64,
) -> Pin<Box<dyn Future<Output = ClResult<ApiKeyInfo>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn update_api_key<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
tn_id: TnId,
key_id: i64,
name: Option<&'life1 str>,
scopes: Option<&'life2 str>,
expires_at: Option<Timestamp>,
) -> Pin<Box<dyn Future<Output = ClResult<ApiKeyInfo>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn delete_api_key<'life0, 'async_trait>(
&'life0 self,
tn_id: TnId,
key_id: i64,
) -> Pin<Box<dyn Future<Output = ClResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn cleanup_expired_api_keys<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = ClResult<u32>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn cleanup_expired_verification_codes<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = ClResult<u32>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_proxy_site<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
data: &'life1 CreateProxySiteData<'life2>,
) -> Pin<Box<dyn Future<Output = ClResult<ProxySiteData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn read_proxy_site<'life0, 'async_trait>(
&'life0 self,
site_id: i64,
) -> Pin<Box<dyn Future<Output = ClResult<ProxySiteData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn read_proxy_site_by_domain<'life0, 'life1, 'async_trait>(
&'life0 self,
domain: &'life1 str,
) -> Pin<Box<dyn Future<Output = ClResult<ProxySiteData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update_proxy_site<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
site_id: i64,
data: &'life1 UpdateProxySiteData<'life2>,
) -> Pin<Box<dyn Future<Output = ClResult<ProxySiteData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn delete_proxy_site<'life0, 'async_trait>(
&'life0 self,
site_id: i64,
) -> Pin<Box<dyn Future<Output = ClResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_proxy_sites<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = ClResult<Vec<ProxySiteData>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn update_proxy_site_cert<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
site_id: i64,
cert: &'life1 str,
key: &'life2 str,
expires_at: Timestamp,
) -> Pin<Box<dyn Future<Output = ClResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn list_proxy_sites_needing_cert_renewal<'life0, 'async_trait>(
&'life0 self,
renewal_days: u32,
) -> Pin<Box<dyn Future<Output = ClResult<Vec<ProxySiteData>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl Freeze for AuthAdapterSqlite
impl !RefUnwindSafe for AuthAdapterSqlite
impl Send for AuthAdapterSqlite
impl Sync for AuthAdapterSqlite
impl Unpin for AuthAdapterSqlite
impl UnsafeUnpin for AuthAdapterSqlite
impl !UnwindSafe for AuthAdapterSqlite
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 more