pub struct PasskeyAuthority {
pub format_version: u32,
pub account_uuid: Vec<u8>,
pub owner_state_hash: Vec<u8>,
pub owner_sequence: u64,
pub owner_key: Option<AuthorizationVerificationKey>,
pub credential_id: Vec<u8>,
pub cose_algorithm: i32,
pub public_key_spki: Vec<u8>,
pub relying_party_id: String,
pub allowed_origins: Vec<String>,
pub max_session_ttl_seconds: u32,
pub nonce: Vec<u8>,
}Expand description
Current owner authorization for a passkey to attach temporary Ed25519 mint keys. This certifies key lineage, not operations: Biscuit attenuation, resource audience and current revocation remain mandatory. It confers no independent owner/root-establishment authority. Canonical fields follow tag order using fixed-width/length-prefixed encoding; domain “heddle-passkey-authority-v1”.
Fields§
§format_version: u32§account_uuid: Vec<u8>§owner_state_hash: Vec<u8>§owner_sequence: u64§owner_key: Option<AuthorizationVerificationKey>§credential_id: Vec<u8>§cose_algorithm: i32New passkeys support ES256 (-7) and Ed25519 (-8).
public_key_spki: Vec<u8>DER SubjectPublicKeyInfo returned by AuthenticatorAttestationResponse. Enrollment compares this key with the verified credential’s COSE key.
relying_party_id: String§allowed_origins: Vec<String>Exact serialized origins, sorted and unique; no wildcard matching.
max_session_ttl_seconds: u32Nonzero and at most 43200. Every issued attachment’s interval is bounded by this value. Verification uses the exact half-open interval [not_before, expires) with no clock skew allowance. Renewal beyond the interval requires a new passkey assertion.
nonce: Vec<u8>Trait Implementations§
Source§impl Clone for PasskeyAuthority
impl Clone for PasskeyAuthority
Source§fn clone(&self) -> PasskeyAuthority
fn clone(&self) -> PasskeyAuthority
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 PasskeyAuthority
impl Debug for PasskeyAuthority
Source§impl Default for PasskeyAuthority
impl Default for PasskeyAuthority
Source§fn default() -> PasskeyAuthority
fn default() -> PasskeyAuthority
impl Eq for PasskeyAuthority
Source§impl Hash for PasskeyAuthority
impl Hash for PasskeyAuthority
Source§impl Message for PasskeyAuthority
impl Message for PasskeyAuthority
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 PasskeyAuthority
impl PartialEq for PasskeyAuthority
impl StructuralPartialEq for PasskeyAuthority
Auto Trait Implementations§
impl Freeze for PasskeyAuthority
impl RefUnwindSafe for PasskeyAuthority
impl Send for PasskeyAuthority
impl Sync for PasskeyAuthority
impl Unpin for PasskeyAuthority
impl UnsafeUnpin for PasskeyAuthority
impl UnwindSafe for PasskeyAuthority
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