#[non_exhaustive]pub enum IssuerBinding {
KeyOfIssuer,
Any,
}Expand description
Whether the key that signed a token must belong to its issuer.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
KeyOfIssuer
The key must belong to iss (KeyReference::binds_to): a kid DID URL of the DID
iss, a key of the key set of the HTTPS iss, or a key by value whose did:jwk or
thumbprint is iss, or which comes with no iss at all.
Any
Any key the KeyResolver resolves is accepted, whatever iss says: for a resolver
that only resolves keys the application trusts, such as an authorization server’s
signing keys behind a kid that is a DID URL of a DID other than its iss URL.
Never with a resolver that returns a key the token itself carries, such as
JwkResolver for a jwk header, or one that resolves any DID:
the issuer binding is then the only thing tying the key to iss, and without it anyone
can sign a token with their own key.
Trait Implementations§
Source§impl Clone for IssuerBinding
impl Clone for IssuerBinding
impl Copy for IssuerBinding
Source§impl Debug for IssuerBinding
impl Debug for IssuerBinding
Source§impl Default for IssuerBinding
impl Default for IssuerBinding
impl Eq for IssuerBinding
Source§impl Hash for IssuerBinding
impl Hash for IssuerBinding
Source§impl PartialEq for IssuerBinding
impl PartialEq for IssuerBinding
impl StructuralPartialEq for IssuerBinding
Auto Trait Implementations§
impl Freeze for IssuerBinding
impl RefUnwindSafe for IssuerBinding
impl Send for IssuerBinding
impl Sync for IssuerBinding
impl Unpin for IssuerBinding
impl UnsafeUnpin for IssuerBinding
impl UnwindSafe for IssuerBinding
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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
key and return true if they are equal.