pub struct CurrentCredentialRecord {Show 17 fields
pub ref: Option<RecordRef>,
pub version: Vec<u8>,
pub kind: i32,
pub subject: String,
pub proof_public_key: Vec<u8>,
pub device: Option<RecordRef>,
pub delegation: Option<RecordRef>,
pub authentication_methods: Vec<String>,
pub acting_agent_id: String,
pub delegated_by_principal_id: String,
pub agent_provider: String,
pub agent_model: String,
pub expires_at: Option<Timestamp>,
pub revoked: bool,
pub actions: Vec<ActionAvailability>,
pub session: Option<SessionRecord>,
pub thread_control_authority: Vec<u8>,
}Expand description
Metadata for the exact credential authenticating this observation. This is not issuance, and neither account tier nor account role upgrades its rights.
Fields§
§ref: Option<RecordRef>§version: Vec<u8>§kind: i32§subject: String§proof_public_key: Vec<u8>§device: Option<RecordRef>§delegation: Option<RecordRef>§authentication_methods: Vec<String>§acting_agent_id: String§delegated_by_principal_id: String§agent_provider: String§agent_model: String§expires_at: Option<Timestamp>§revoked: bool§actions: Vec<ActionAvailability>§session: Option<SessionRecord>Original current session, selected by the verified credential’s session binding and account/mint key, independently of sessions pagination. Absent for credentials without a persisted session; never synthesized from a device or credential ID. Its exact ref/version authorizes session revoke.
Canonical ThreadControlAuthority for this exact original credential. Sealed once during identity observation, reusable for local authoring until its original limits expire; delivery never refreshes or expands this proof. Absent when portable owner association is unavailable. Receivers separately validate current authority at first admission. Contains no private key.
Revoke the specific device, delegation or session using the corresponding observed version; this metadata never permits an account-wide revocation.
Implementations§
Source§impl CurrentCredentialRecord
impl CurrentCredentialRecord
Sourcepub fn kind(&self) -> CredentialKind
pub fn kind(&self) -> CredentialKind
Returns the enum value of kind, or the default if the field is set to an invalid enum value.
Sourcepub fn set_kind(&mut self, value: CredentialKind)
pub fn set_kind(&mut self, value: CredentialKind)
Sets kind to the provided enum value.
Trait Implementations§
Source§impl Clone for CurrentCredentialRecord
impl Clone for CurrentCredentialRecord
Source§fn clone(&self) -> CurrentCredentialRecord
fn clone(&self) -> CurrentCredentialRecord
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 CurrentCredentialRecord
impl Debug for CurrentCredentialRecord
Source§impl Default for CurrentCredentialRecord
impl Default for CurrentCredentialRecord
Source§fn default() -> CurrentCredentialRecord
fn default() -> CurrentCredentialRecord
Source§impl Message for CurrentCredentialRecord
impl Message for CurrentCredentialRecord
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
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,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
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,
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,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
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,
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,
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,
self.Source§impl PartialEq for CurrentCredentialRecord
impl PartialEq for CurrentCredentialRecord
impl StructuralPartialEq for CurrentCredentialRecord
Auto Trait Implementations§
impl Freeze for CurrentCredentialRecord
impl RefUnwindSafe for CurrentCredentialRecord
impl Send for CurrentCredentialRecord
impl Sync for CurrentCredentialRecord
impl Unpin for CurrentCredentialRecord
impl UnsafeUnpin for CurrentCredentialRecord
impl UnwindSafe for CurrentCredentialRecord
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
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> ⓘ
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> ⓘ
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