pub struct OAuth1Provider { /* private fields */ }Available on crate feature
oauth1 only.Expand description
One-legged OAuth1 signing provider (HMAC-SHA256).
Implementations§
Source§impl OAuth1Provider
impl OAuth1Provider
Sourcepub fn from_config(config: &Value) -> Result<Self, FaucetError>
pub fn from_config(config: &Value) -> Result<Self, FaucetError>
Build from a config object with consumer_key, consumer_secret,
token, token_secret, optional realm, and optional
signature_method (only HMAC-SHA256 is supported).
Trait Implementations§
Source§impl AuthProvider for OAuth1Provider
impl AuthProvider for OAuth1Provider
Source§fn credential<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Credential, FaucetError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn credential<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Credential, FaucetError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Return a currently-valid credential, refreshing if needed.
Source§fn sign_request<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
method: &'life1 str,
url: &'life2 str,
query: &'life3 BTreeMap<String, String>,
) -> Pin<Box<dyn Future<Output = Result<Option<Credential>, FaucetError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn sign_request<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
method: &'life1 str,
url: &'life2 str,
query: &'life3 BTreeMap<String, String>,
) -> Pin<Box<dyn Future<Output = Result<Option<Credential>, FaucetError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Per-request signing hook (OAuth1 and similar, #496). Read more
Source§fn provider_name(&self) -> &'static str
fn provider_name(&self) -> &'static str
Stable, non-empty name for diagnostics and metrics.
Source§fn invalidate<'life0, 'life1, 'async_trait>(
&'life0 self,
_stale: &'life1 Credential,
) -> Pin<Box<dyn Future<Output = Result<Credential, FaucetError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn invalidate<'life0, 'life1, 'async_trait>(
&'life0 self,
_stale: &'life1 Credential,
) -> Pin<Box<dyn Future<Output = Result<Credential, FaucetError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Force a refresh iff the cached credential still equals
stale
(compare-and-swap). Multiple connectors that hit a 401 with the same
token collapse into a single refresh; callers holding an already-rotated
token get the new one without triggering another fetch. Read moreSource§fn request_auth<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_method: &'life1 str,
_url: &'life2 str,
_query: &'life3 BTreeMap<String, String>,
) -> Pin<Box<dyn Future<Output = Result<RequestAuth, FaucetError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
fn request_auth<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_method: &'life1 str,
_url: &'life2 str,
_query: &'life3 BTreeMap<String, String>,
) -> Pin<Box<dyn Future<Output = Result<RequestAuth, FaucetError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
Richer per-request auth for multi-step flows (#511): credential
placements across header / query / cookie / body plus an optional
dynamic base-URL override. Read more
Source§fn reauth_statuses(&self) -> &[u16]
fn reauth_statuses(&self) -> &[u16]
HTTP status codes on which the connector should force a re-auth
(via
invalidate) and retry the request once. Read moreAuto Trait Implementations§
impl !Freeze for OAuth1Provider
impl RefUnwindSafe for OAuth1Provider
impl Send for OAuth1Provider
impl Sync for OAuth1Provider
impl Unpin for OAuth1Provider
impl UnsafeUnpin for OAuth1Provider
impl UnwindSafe for OAuth1Provider
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