pub struct ClientManagedTokenHandler { /* private fields */ }Expand description
Token handler for client-managed tokens.
Implementations§
Source§impl ClientManagedTokenHandler
impl ClientManagedTokenHandler
Sourcepub fn new(tokens: Arc<dyn ClientManagedTokens>) -> Arc<Self>
pub fn new(tokens: Arc<dyn ClientManagedTokens>) -> Arc<Self>
Create a new client-managed token handler.
Trait Implementations§
Source§impl Clone for ClientManagedTokenHandler
impl Clone for ClientManagedTokenHandler
Source§fn clone(&self) -> ClientManagedTokenHandler
fn clone(&self) -> ClientManagedTokenHandler
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Middleware for ClientManagedTokenHandler
impl Middleware for ClientManagedTokenHandler
Source§fn handle<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
req: Request,
ext: &'life1 mut Extensions,
next: Next<'life2>,
) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn handle<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
req: Request,
ext: &'life1 mut Extensions,
next: Next<'life2>,
) -> Pin<Box<dyn Future<Output = Result<Response, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Invoked with a request before sending it. If you want to continue processing the request,
you should explicitly call
next.run(req, extensions). Read moreSource§impl TokenHandler for ClientManagedTokenHandler
impl TokenHandler for ClientManagedTokenHandler
Source§fn initialize_middleware(
&self,
_state_registry: &StateRegistry,
_identity_config: Configuration,
_key_store: KeyStore<KeySlotIds>,
) -> Arc<dyn Middleware>
fn initialize_middleware( &self, _state_registry: &StateRegistry, _identity_config: Configuration, _key_store: KeyStore<KeySlotIds>, ) -> Arc<dyn Middleware>
Initialize middleware that handles token attachment and renewal.
This middleware should look for the presence of the bitwarden_api_base::AuthRequired
extension to decide when to attach tokens. It’s then free to attach tokens as it sees fit,
including pausing and retrying requests to renew tokens.
Source§fn set_tokens<'life0, 'async_trait>(
&'life0 self,
_token: String,
_refresh_token: Option<String>,
_expires_on: u64,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn set_tokens<'life0, 'async_trait>(
&'life0 self,
_token: String,
_refresh_token: Option<String>,
_expires_on: u64,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
This method is available only as a backwards compatibility measure until all the
auth-related code is moved out of core. Once that is done, setting tokens should be always
done either during renewal (as part of the middleware) or during registration/login, in
which case it would be up to the auth crate to internally set those tokens when initializing
the client.
Auto Trait Implementations§
impl Freeze for ClientManagedTokenHandler
impl !RefUnwindSafe for ClientManagedTokenHandler
impl Send for ClientManagedTokenHandler
impl Sync for ClientManagedTokenHandler
impl Unpin for ClientManagedTokenHandler
impl UnsafeUnpin for ClientManagedTokenHandler
impl !UnwindSafe for ClientManagedTokenHandler
Blanket Implementations§
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