pub struct IssueDelegationCredentialRequest {
pub client_operation_id: String,
pub delegation: Option<RecordRef>,
pub proof_public_key: Vec<u8>,
pub authority_proof: Option<SignedRecord>,
pub scope: String,
pub expires_at: Option<Timestamp>,
pub expected_delegation_version: Vec<u8>,
pub subject_possession: Option<SignedRecord>,
}Expand description
Creating/updating a delegation record and issuing a credential are different effects. The caller must prove the active delegation authority; the new key must prove possession. Scope/expiry cannot exceed the accepted delegation.
Fields§
§client_operation_id: String§delegation: Option<RecordRef>§proof_public_key: Vec<u8>§scope: StringCanonical credential scope grammar, checked against the parent’s ceiling.
expires_at: Option<Timestamp>Omission requests no expiry only where the parent and server policy allow.
expected_delegation_version: Vec<u8>§subject_possession: Option<SignedRecord>Proof by proof_public_key over the credential request’s canonical unsigned statement. Both in-body proofs bind delegation, requested scope/expiry, expected version and operation ID; neither can be replayed for another key. CallContext independently authenticates and signs the complete request.
Trait Implementations§
Source§impl Clone for IssueDelegationCredentialRequest
impl Clone for IssueDelegationCredentialRequest
Source§fn clone(&self) -> IssueDelegationCredentialRequest
fn clone(&self) -> IssueDelegationCredentialRequest
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 Default for IssueDelegationCredentialRequest
impl Default for IssueDelegationCredentialRequest
Source§fn default() -> IssueDelegationCredentialRequest
fn default() -> IssueDelegationCredentialRequest
Returns the “default value” for a type. Read more
Source§impl Message for IssueDelegationCredentialRequest
impl Message for IssueDelegationCredentialRequest
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Encodes the message to a buffer. Read more
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message to a newly allocated buffer.
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Encodes the message with a length-delimiter to a buffer. Read more
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message with a length-delimiter to a newly allocated buffer.
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes an instance of the message from a buffer. Read more
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes a length-delimited instance of the message from the buffer.
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
Decodes an instance of the message from a buffer, and merges it into
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
Decodes a length-delimited instance of the message from buffer, and
merges it into
self.impl StructuralPartialEq for IssueDelegationCredentialRequest
Auto Trait Implementations§
impl Freeze for IssueDelegationCredentialRequest
impl RefUnwindSafe for IssueDelegationCredentialRequest
impl Send for IssueDelegationCredentialRequest
impl Sync for IssueDelegationCredentialRequest
impl Unpin for IssueDelegationCredentialRequest
impl UnsafeUnpin for IssueDelegationCredentialRequest
impl UnwindSafe for IssueDelegationCredentialRequest
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more