pub struct QrCodeData {
pub public_key: Curve25519PublicKey,
pub rendezvous_url: Url,
pub mode_data: QrCodeModeData,
}
experimental-oidc
and crate feature e2e-encryption
and non-WebAssembly only.Expand description
Data for the QR code login mechanism.
The QrCodeData
can be serialized and encoded as a QR code or it can be
decoded from a QR code.
Fields§
§public_key: Curve25519PublicKey
The ephemeral Curve25519 public key. Can be used to establish a shared secret using the Diffie-Hellman key agreement.
rendezvous_url: Url
The URL of the rendezvous session, can be used to exchange messages with the other device.
mode_data: QrCodeModeData
Mode specific data, may contain the homeserver URL.
Implementations§
Source§impl QrCodeData
impl QrCodeData
Sourcepub fn from_bytes(bytes: &[u8]) -> Result<QrCodeData, LoginQrCodeDecodeError>
pub fn from_bytes(bytes: &[u8]) -> Result<QrCodeData, LoginQrCodeDecodeError>
Attempt to decode a slice of bytes into a QrCodeData
object.
The slice of bytes would generally be returned by a QR code decoder.
Sourcepub fn to_bytes(&self) -> Vec<u8> ⓘ
pub fn to_bytes(&self) -> Vec<u8> ⓘ
Encode the QrCodeData
into a list of bytes.
The list of bytes can be used by a QR code generator to create an image containing a QR code.
Sourcepub fn from_base64(data: &str) -> Result<QrCodeData, LoginQrCodeDecodeError>
pub fn from_base64(data: &str) -> Result<QrCodeData, LoginQrCodeDecodeError>
Attempt to decode a base64 encoded string into a QrCodeData
object.
Sourcepub fn to_base64(&self) -> String
pub fn to_base64(&self) -> String
Encode the QrCodeData
into a list of bytes.
The list of bytes can be used by a QR code generator to create an image containing a QR code.
Sourcepub fn mode(&self) -> QrCodeMode
pub fn mode(&self) -> QrCodeMode
Get the mode of this QrCodeData
instance.
Trait Implementations§
Source§impl Clone for QrCodeData
impl Clone for QrCodeData
Source§fn clone(&self) -> QrCodeData
fn clone(&self) -> QrCodeData
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for QrCodeData
impl Debug for QrCodeData
Source§impl PartialEq for QrCodeData
impl PartialEq for QrCodeData
impl Eq for QrCodeData
impl StructuralPartialEq for QrCodeData
Auto Trait Implementations§
impl Freeze for QrCodeData
impl RefUnwindSafe for QrCodeData
impl Send for QrCodeData
impl Sync for QrCodeData
impl Unpin for QrCodeData
impl UnwindSafe for QrCodeData
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> CompatExt for T
impl<T> CompatExt for T
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<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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
Source§fn consume_handle(handle: Handle) -> Arc<T>
fn consume_handle(handle: Handle) -> Arc<T>
Arc<>
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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