pub enum ClientAuthError {
Incomplete,
UnsupportedAssertionType,
AssertionRequired,
AssertionRefused,
UnknownKey(String),
Expired,
Replayed,
WindowFull,
PredatesStart,
Invalid(String),
}Expand description
Why a client did not authenticate.
Variants§
Incomplete
One of the two assertion parameters arrived without the other.
UnsupportedAssertionType
client_assertion_type named something other than
ASSERTION_TYPE.
AssertionRequired
A confidential client sent no assertion.
AssertionRefused
A public client sent one.
UnknownKey(String)
No key the client publishes has the kid the assertion names.
Expired
The assertion is older than ASSERTION_MAX_AGE allows, or past its
exp.
Replayed
The assertion’s jti was spent by an earlier request.
WindowFull
The replay window is holding as many jtis as it will, so this
server cannot promise this one is new. Refused rather than admitted,
as REPLAY_CAPACITY explains.
PredatesStart
The assertion was stamped before this server started, and it is still inside the first window since: the replay window started empty and cannot say whether it was spent.
Invalid(String)
Anything else the assertion gets wrong. The text says what.
Implementations§
Source§impl ClientAuthError
impl ClientAuthError
Sourcepub fn code(&self) -> OAuthErrorCode
pub fn code(&self) -> OAuthErrorCode
The RFC 6749 §5.2 error this refusal answers with: invalid_request
for a malformed request, and invalid_client for every failed
authentication, as RFC 7523 §3.2 requires.
Trait Implementations§
Source§impl Clone for ClientAuthError
impl Clone for ClientAuthError
Source§fn clone(&self) -> ClientAuthError
fn clone(&self) -> ClientAuthError
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 ClientAuthError
impl Debug for ClientAuthError
Source§impl Display for ClientAuthError
impl Display for ClientAuthError
Source§impl Error for ClientAuthError
impl Error for ClientAuthError
1.30.0 · 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
use the Display impl or to_string()
Source§impl From<ClientAuthError> for ParError
impl From<ClientAuthError> for ParError
Source§fn from(source: ClientAuthError) -> Self
fn from(source: ClientAuthError) -> Self
Source§impl PartialEq for ClientAuthError
impl PartialEq for ClientAuthError
Source§fn eq(&self, other: &ClientAuthError) -> bool
fn eq(&self, other: &ClientAuthError) -> bool
self and other values to be equal, and is used by ==.impl Eq for ClientAuthError
impl StructuralPartialEq for ClientAuthError
Auto Trait Implementations§
impl Freeze for ClientAuthError
impl RefUnwindSafe for ClientAuthError
impl Send for ClientAuthError
impl Sync for ClientAuthError
impl Unpin for ClientAuthError
impl UnsafeUnpin for ClientAuthError
impl UnwindSafe for ClientAuthError
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§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