pub enum OidcError {
Show 17 variants
Oidc(Error),
MissingAuthenticationIssuer,
NoRegistrationSupport,
NotRegistered,
MissingRedirectUri,
MissingDeviceId,
NotAuthenticated,
InvalidState,
CancelledAuthorization,
InvalidCallbackUrl,
Authorization(AuthorizationError),
InvalidDeviceId,
NoRevocationSupport,
Rand(Error),
Url(ParseError),
LockError(CrossProcessRefreshLockError),
UnknownError(Box<dyn Error + Send + Sync>),
}
experimental-oidc
only.Expand description
All errors that can occur when using the OpenID Connect API.
Variants§
Oidc(Error)
An error occurred when interacting with the provider.
MissingAuthenticationIssuer
No authentication issuer was provided by the homeserver or by the user.
NoRegistrationSupport
The OpenID Connect Provider doesn’t support dynamic client registration.
The provider probably offers another way to register clients.
NotRegistered
The client has not registered while the operation requires it.
MissingRedirectUri
The supplied redirect URIs are missing or empty.
MissingDeviceId
The device ID was not returned by the homeserver after login.
NotAuthenticated
The client is not authenticated while the request requires it.
InvalidState
The state used to complete authorization doesn’t match an original value.
CancelledAuthorization
The user cancelled authorization in the web view.
InvalidCallbackUrl
The login was completed with an invalid callback.
Authorization(AuthorizationError)
An error occurred during authorization.
InvalidDeviceId
The device ID is invalid.
NoRevocationSupport
The OpenID Connect Provider doesn’t support token revocation, aka logging out.
Rand(Error)
An error occurred generating a random value.
Url(ParseError)
An error occurred parsing a URL.
LockError(CrossProcessRefreshLockError)
An error occurred caused by the cross-process locks.
UnknownError(Box<dyn Error + Send + Sync>)
An unknown error occurred.
Trait Implementations§
Source§impl Error for OidcError
impl Error for OidcError
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 OidcError
impl From<CrossProcessRefreshLockError> for OidcError
Source§fn from(source: CrossProcessRefreshLockError) -> Self
fn from(source: CrossProcessRefreshLockError) -> Self
Source§impl From<OidcError> for DeviceAuhorizationOidcError
Available on crate feature e2e-encryption
and non-WebAssembly only.
impl From<OidcError> for DeviceAuhorizationOidcError
e2e-encryption
and non-WebAssembly only.Auto Trait Implementations§
impl Freeze for OidcError
impl !RefUnwindSafe for OidcError
impl Send for OidcError
impl Sync for OidcError
impl Unpin for OidcError
impl !UnwindSafe for OidcError
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