pub struct UcanPayload {
pub iss: String,
pub aud: String,
pub sub: String,
pub cmd: String,
pub args: UcanCapability,
pub nonce: String,
pub exp: i64,
pub prf: Vec<String>,
}Expand description
UCAN payload — the middle segment of the JWT compact form.
Spec §5.1: full canonical “A→B delegates read-only Patient/X access”
example. prf carries parent UCAN(s) inline so verification stays
self-contained (no out-of-band fetches).
Fields§
§iss: StringIssuer DID (the principal granting authority).
aud: StringAudience DID (the principal authorised to act).
sub: StringSubject DID — the resource owner / root authority.
cmd: StringReserved namespace sentinel; must be "atd-cap" for ATD-bound
tokens. Cross-system replay (e.g. a Bluesky UCAN) is structurally
prevented by this discriminator (spec §4.5).
args: UcanCapabilityCapabilities + optional resource bindings.
nonce: String16-byte random nonce (base64url-encoded).
exp: i64Unix-seconds expiry. Verified against SystemTime::now() at
chain-walk time (Phase B.2).
prf: Vec<String>Parent UCANs (each itself a JWT compact form). Forms the delegation chain. Empty for root UCANs signed by the resource owner.
Trait Implementations§
Source§impl Clone for UcanPayload
impl Clone for UcanPayload
Source§fn clone(&self) -> UcanPayload
fn clone(&self) -> UcanPayload
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for UcanPayload
impl Debug for UcanPayload
Source§impl<'de> Deserialize<'de> for UcanPayload
impl<'de> Deserialize<'de> for UcanPayload
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>,
Source§impl PartialEq for UcanPayload
impl PartialEq for UcanPayload
Source§fn eq(&self, other: &UcanPayload) -> bool
fn eq(&self, other: &UcanPayload) -> bool
self and other values to be equal, and is used by ==.