pub struct Audience {
pub id: String,
pub channel_binding: Option<AudienceChannelBinding>,
}Expand description
Who may accept this envelope, and — optionally — on which delivery coordinates (§7.1.13, RFC 0003).
The check this feeds is a COMPARISON, not cryptography: §8.3’s audience
step compares id against the verifier’s own identity and refuses on
difference (APH_E017). What that buys is that a captured envelope stops
being a reusable authorization against ANY recipient; what it does not
buy is anything about the one recipient it names.
Fields§
§id: StringDID of the endpoint entitled to accept this envelope.
channel_binding: Option<AudienceChannelBinding>Restates the delivery coordinates the envelope authorizes, so an envelope addressed to one channel cannot be spent on another. OPTIONAL: audience binding without coordinate binding is a coarser but still meaningful restriction.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Audience
impl<'de> Deserialize<'de> for Audience
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 Audience
impl StructuralPartialEq for Audience
Auto Trait Implementations§
impl Freeze for Audience
impl RefUnwindSafe for Audience
impl Send for Audience
impl Sync for Audience
impl Unpin for Audience
impl UnsafeUnpin for Audience
impl UnwindSafe for Audience
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