pub struct RemovePasskeyRequest {
pub client_operation_id: String,
pub passkey: Option<RecordRef>,
pub expected_version: Vec<u8>,
}Expand description
Retires the exact account-owned passkey. Same request PoP, caller ownership, exact-method caveats, idempotency and version CAS as RenamePasskey, plus the existing require_independent_root predicate: root_established plus an unattenuated credential. Delegated and ephemeral credentials MUST be denied. Weft MUST atomically refuse removal of the account’s last usable sign-in method with typed CALL_FAILURE_CODE_FAILED_PRECONDITION / ERROR_REASON_LIFECYCLE_STATE. Recovery factors alone are not usable sign-in methods. Retire sign-in authority and revoke temporary sessions minted by this passkey together; retain signed evidence for admitted history. Device-root cascades follow the canonical identity model’s CURRENT/TARGET revocation policy.
Fields§
§client_operation_id: StringUUID accepted by weft’s existing UUID parser; at most 45 ASCII bytes. See docs/alpha-v2/account-management.md for the inherited UUID forms.
passkey: Option<RecordRef>Account-private unscoped PasskeyRecord.ref: spool absent, nonempty id of at most 1366 ASCII bytes (unpadded base64url of a 1..1024-byte credential ID).
expected_version: Vec<u8>Required exact 32-byte PasskeyRecord.version; conflict changes no state.
Trait Implementations§
Source§impl Clone for RemovePasskeyRequest
impl Clone for RemovePasskeyRequest
Source§fn clone(&self) -> RemovePasskeyRequest
fn clone(&self) -> RemovePasskeyRequest
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 RemovePasskeyRequest
impl Debug for RemovePasskeyRequest
Source§impl Default for RemovePasskeyRequest
impl Default for RemovePasskeyRequest
Source§fn default() -> RemovePasskeyRequest
fn default() -> RemovePasskeyRequest
impl Eq for RemovePasskeyRequest
Source§impl Hash for RemovePasskeyRequest
impl Hash for RemovePasskeyRequest
Source§impl Message for RemovePasskeyRequest
impl Message for RemovePasskeyRequest
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 RemovePasskeyRequest
impl PartialEq for RemovePasskeyRequest
impl StructuralPartialEq for RemovePasskeyRequest
Auto Trait Implementations§
impl Freeze for RemovePasskeyRequest
impl RefUnwindSafe for RemovePasskeyRequest
impl Send for RemovePasskeyRequest
impl Sync for RemovePasskeyRequest
impl Unpin for RemovePasskeyRequest
impl UnsafeUnpin for RemovePasskeyRequest
impl UnwindSafe for RemovePasskeyRequest
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§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