pub struct CompleteAuthenticationRequest {
pub client_operation_id: String,
pub challenge: Option<RecordRef>,
pub caller_public_key: Vec<u8>,
pub mint_root_attachment: Option<SignedMintRootAttachment>,
pub enroll_device: bool,
pub ephemeral_public_key: Vec<u8>,
pub proof: Option<Proof>,
}Fields§
§client_operation_id: String§challenge: Option<RecordRef>§caller_public_key: Vec<u8>Same key as BeginAuthentication. CallContext.request_proof signs the exact completion request with this key, including the passkey assertion.
mint_root_attachment: Option<SignedMintRootAttachment>Required for a newly enrolled independent mint root distinct from the current owner authority; omitted for existing roots or delegated leaves.
enroll_device: boolSet true by the browser only AFTER the user consents (“Remember this browser?”), so the server enrolls the device (writes the device root) only on explicit post-consent enroll. The decline path signs in without enrolling.
ephemeral_public_key: Vec<u8>When enroll_device == false, this 32-byte browser-derived ephemeral public key is what Weft delegates the short-TTL ephemeral session Biscuit to (PoP-bound to this key). The decline path holds no device root, so the ephemeral session is renewable and self-revocable against this key only. Ignored when enroll_device == true (an enrolled device roots its own key).
proof: Option<Proof>Trait Implementations§
Source§impl Clone for CompleteAuthenticationRequest
impl Clone for CompleteAuthenticationRequest
Source§fn clone(&self) -> CompleteAuthenticationRequest
fn clone(&self) -> CompleteAuthenticationRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Default for CompleteAuthenticationRequest
impl Default for CompleteAuthenticationRequest
Source§fn default() -> CompleteAuthenticationRequest
fn default() -> CompleteAuthenticationRequest
impl Eq for CompleteAuthenticationRequest
Source§impl Hash for CompleteAuthenticationRequest
impl Hash for CompleteAuthenticationRequest
Source§impl Message for CompleteAuthenticationRequest
impl Message for CompleteAuthenticationRequest
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.impl StructuralPartialEq for CompleteAuthenticationRequest
Auto Trait Implementations§
impl Freeze for CompleteAuthenticationRequest
impl RefUnwindSafe for CompleteAuthenticationRequest
impl Send for CompleteAuthenticationRequest
impl Sync for CompleteAuthenticationRequest
impl Unpin for CompleteAuthenticationRequest
impl UnsafeUnpin for CompleteAuthenticationRequest
impl UnwindSafe for CompleteAuthenticationRequest
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