pub enum QRCodeLoginError {
Oidc(DeviceAuhorizationOidcError),
LoginFailure {
reason: LoginFailureReason,
homeserver: Option<Url>,
},
UnexpectedMessage {
expected: &'static str,
received: QrAuthMessage,
},
SecureChannel(SecureChannelError),
CrossProcessRefreshLock(CrossProcessRefreshLockError),
UserIdDiscovery(HttpError),
SessionTokens(Error),
DeviceKeyUpload(Error),
SecretImport(SecretImportError),
}
experimental-oidc
and crate feature e2e-encryption
and non-WebAssembly only.Expand description
The error type for failures while trying to log in a new device using a QR code.
Variants§
Oidc(DeviceAuhorizationOidcError)
An error happened while we were communicating with the OIDC provider.
LoginFailure
The other device has signaled to us that the login has failed.
Fields
reason: LoginFailureReason
The reason, as signaled by the other device, for the login failure.
UnexpectedMessage
An unexpected message was received from the other device.
Fields
received: QrAuthMessage
The message we received instead.
SecureChannel(SecureChannelError)
An error happened while exchanging messages with the other device.
CrossProcessRefreshLock(CrossProcessRefreshLockError)
The cross-process refresh lock failed to be initialized.
UserIdDiscovery(HttpError)
An error happened while we were trying to discover our user and device ID, after we have acquired an access token from the OIDC provider.
SessionTokens(Error)
We failed to set the session tokens after we figured out our device and user IDs.
DeviceKeyUpload(Error)
The device keys failed to be uploaded after we successfully logged in.
SecretImport(SecretImportError)
The secrets bundle we received from the existing device failed to be imported.
Trait Implementations§
Source§impl<UT> ConvertError<UT> for QRCodeLoginError
impl<UT> ConvertError<UT> for QRCodeLoginError
fn try_convert_unexpected_callback_error( e: UnexpectedUniFFICallbackError, ) -> Result<Self>
Source§impl Debug for QRCodeLoginError
impl Debug for QRCodeLoginError
Source§impl Display for QRCodeLoginError
impl Display for QRCodeLoginError
Source§impl Error for QRCodeLoginError
impl Error for QRCodeLoginError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
Source§impl From<CrossProcessRefreshLockError> for QRCodeLoginError
impl From<CrossProcessRefreshLockError> for QRCodeLoginError
Source§fn from(source: CrossProcessRefreshLockError) -> Self
fn from(source: CrossProcessRefreshLockError) -> Self
Source§impl From<DeviceAuhorizationOidcError> for QRCodeLoginError
impl From<DeviceAuhorizationOidcError> for QRCodeLoginError
Source§fn from(source: DeviceAuhorizationOidcError) -> Self
fn from(source: DeviceAuhorizationOidcError) -> Self
Source§impl From<SecretImportError> for QRCodeLoginError
impl From<SecretImportError> for QRCodeLoginError
Source§fn from(source: SecretImportError) -> Self
fn from(source: SecretImportError) -> Self
Source§impl From<SecureChannelError> for QRCodeLoginError
impl From<SecureChannelError> for QRCodeLoginError
Source§fn from(source: SecureChannelError) -> Self
fn from(source: SecureChannelError) -> Self
Source§impl<UT> Lift<UT> for QRCodeLoginError
impl<UT> Lift<UT> for QRCodeLoginError
type FfiType = RustBuffer
fn try_read(buf: &mut &[u8]) -> Result<Self>
fn try_lift(v: RustBuffer) -> Result<Self>
Source§fn try_lift_from_rust_buffer(v: RustBuffer) -> Result<Self, Error>
fn try_lift_from_rust_buffer(v: RustBuffer) -> Result<Self, Error>
Source§impl<UT> Lower<UT> for QRCodeLoginError
impl<UT> Lower<UT> for QRCodeLoginError
type FfiType = RustBuffer
fn write(obj: Self, buf: &mut Vec<u8>)
fn lower(obj: Self) -> RustBuffer
Source§fn lower_into_rust_buffer(obj: Self) -> RustBuffer
fn lower_into_rust_buffer(obj: Self) -> RustBuffer
Source§impl<UT> LowerError<UT> for QRCodeLoginError
impl<UT> LowerError<UT> for QRCodeLoginError
Source§fn lower_error(obj: Self) -> RustBuffer
fn lower_error(obj: Self) -> RustBuffer
Source§impl<UT> TypeId<UT> for QRCodeLoginError
impl<UT> TypeId<UT> for QRCodeLoginError
const TYPE_ID_META: MetadataBuffer = _
Auto Trait Implementations§
impl !Freeze for QRCodeLoginError
impl !RefUnwindSafe for QRCodeLoginError
impl Send for QRCodeLoginError
impl Sync for QRCodeLoginError
impl Unpin for QRCodeLoginError
impl !UnwindSafe for QRCodeLoginError
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<T> CompatExt for T
impl<T> CompatExt for T
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