#[non_exhaustive]pub enum TokenSource {
Bearer,
UserToken,
Mtls,
SpiffeJwtSvid,
ApiKey,
Custom(String),
}Expand description
Where the raw credential was extracted from. Lets handlers
short-circuit on payloads they don’t service (an mTLS-only
resolver ignores Bearer payloads). Custom(String) is the
escape hatch for bespoke wire formats.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Bearer
Authorization: Bearer <jwt> style.
UserToken
X-User-Token style — explicit user-identity header alongside
a separate gateway-access token in Authorization.
Mtls
mTLS — credential is the peer X.509 chain (surfaced via
X-Forwarded-Client-Cert). raw_token may be empty in this
case; the chain itself flows through headers.
SpiffeJwtSvid
SPIFFE JWT-SVID — JWT-shaped but with SPIFFE-specific claims.
ApiKey
API key in a header or query param.
Custom(String)
Operator-defined extraction path.
Trait Implementations§
Source§impl Clone for TokenSource
impl Clone for TokenSource
Source§fn clone(&self) -> TokenSource
fn clone(&self) -> TokenSource
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 Debug for TokenSource
impl Debug for TokenSource
Source§impl Default for TokenSource
impl Default for TokenSource
Source§impl<'de> Deserialize<'de> for TokenSource
impl<'de> Deserialize<'de> for TokenSource
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
impl Eq for TokenSource
Source§impl Hash for TokenSource
impl Hash for TokenSource
Source§impl PartialEq for TokenSource
impl PartialEq for TokenSource
Source§impl Serialize for TokenSource
impl Serialize for TokenSource
impl StructuralPartialEq for TokenSource
Auto Trait Implementations§
impl Freeze for TokenSource
impl RefUnwindSafe for TokenSource
impl Send for TokenSource
impl Sync for TokenSource
impl Unpin for TokenSource
impl UnsafeUnpin for TokenSource
impl UnwindSafe for TokenSource
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.