pub struct PasskeyRecord {
pub ref: Option<RecordRef>,
pub version: Vec<u8>,
pub label: String,
pub certificate: Option<SignedPasskeyAuthority>,
pub revoked: bool,
pub created_at: Option<Timestamp>,
pub last_used_at: Option<Timestamp>,
pub aaguid: Option<Vec<u8>>,
pub authenticator_name: Option<String>,
}Expand description
Account-private passkey inventory, requested through ObserveIdentity. The certificate is public verification material; no credential private key or reusable assertion is returned. Device registration is a separate lifecycle.
Fields§
§ref: Option<RecordRef>§version: Vec<u8>§label: StringThe stored, trimmed label, or “Passkey” when no label is stored. The label is account metadata and is not part of the owner-signed certificate.
certificate: Option<SignedPasskeyAuthority>§revoked: bool§created_at: Option<Timestamp>Absent for historical records with unknown registration time.
last_used_at: Option<Timestamp>Last successful authentication using this exact passkey; absent if unused or unknown. Viewing or renaming a passkey does not count as use.
aaguid: Option<Vec<u8>>Exactly 16 bytes when present; extracted from registration authenticator data. Clients should request attestation conveyance “indirect” to obtain the AAGUID. Zero AAGUIDs and omission mean unknown authenticator. This is advisory metadata, never authority, attestation trust or sign-in permission.
authenticator_name: Option<String>Optional advisory friendly name derived from AAGUID metadata. Same trim/NFC/256-byte rules as passkey labels; never authenticator authority.
Implementations§
Source§impl PasskeyRecord
impl PasskeyRecord
Trait Implementations§
Source§impl Clone for PasskeyRecord
impl Clone for PasskeyRecord
Source§fn clone(&self) -> PasskeyRecord
fn clone(&self) -> PasskeyRecord
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 PasskeyRecord
impl Debug for PasskeyRecord
Source§impl Default for PasskeyRecord
impl Default for PasskeyRecord
Source§fn default() -> PasskeyRecord
fn default() -> PasskeyRecord
impl Eq for PasskeyRecord
Source§impl Hash for PasskeyRecord
impl Hash for PasskeyRecord
Source§impl Message for PasskeyRecord
impl Message for PasskeyRecord
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 PasskeyRecord
impl PartialEq for PasskeyRecord
impl StructuralPartialEq for PasskeyRecord
Auto Trait Implementations§
impl Freeze for PasskeyRecord
impl RefUnwindSafe for PasskeyRecord
impl Send for PasskeyRecord
impl Sync for PasskeyRecord
impl Unpin for PasskeyRecord
impl UnsafeUnpin for PasskeyRecord
impl UnwindSafe for PasskeyRecord
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<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§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.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