Enum kanidmd_lib::idm::oauth2::Oauth2Error
source · pub enum Oauth2Error {
Show 17 variants
AuthenticationRequired,
InvalidClientId,
InvalidOrigin,
InvalidRequest,
InvalidGrant,
UnauthorizedClient,
AccessDenied,
UnsupportedResponseType,
InvalidScope,
ServerError(OperationError),
TemporarilyUnavailable,
InvalidToken,
InsufficientScope,
UnsupportedTokenType,
SlowDown,
AuthorizationPending,
ExpiredToken,
}
Variants§
AuthenticationRequired
InvalidClientId
InvalidOrigin
InvalidRequest
InvalidGrant
AccessDenied
UnsupportedResponseType
InvalidScope
ServerError(OperationError)
InvalidToken
InsufficientScope
UnsupportedTokenType
SlowDown
https://datatracker.ietf.org/doc/html/rfc8628#section-3.5 A variant of “authorization_pending”, the authorization request is still pending and polling should continue, but the interval MUST be increased by 5 seconds for this and all subsequent requests.
AuthorizationPending
The authorization request is still pending as the end user hasn’t yet completed the user-interaction steps (Section 3.3). The client SHOULD repeat the access token request to the token endpoint (a process known as polling). Before each new request, the client MUST wait at least the number of seconds specified by the “interval” parameter of the device authorization response (see Section 3.2), or 5 seconds if none was provided, and respect any increase in the polling interval required by the “slow_down” error.
ExpiredToken
The “device_code” has expired, and the device authorization session has concluded. The client MAY commence a new device authorization request but SHOULD wait for user interaction before restarting to avoid unnecessary polling.
Trait Implementations§
source§impl Debug for Oauth2Error
impl Debug for Oauth2Error
source§impl<'de> Deserialize<'de> for Oauth2Error
impl<'de> Deserialize<'de> for Oauth2Error
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl Display for Oauth2Error
impl Display for Oauth2Error
source§impl PartialEq for Oauth2Error
impl PartialEq for Oauth2Error
source§impl Serialize for Oauth2Error
impl Serialize for Oauth2Error
impl StructuralPartialEq for Oauth2Error
Auto Trait Implementations§
impl Freeze for Oauth2Error
impl RefUnwindSafe for Oauth2Error
impl Send for Oauth2Error
impl Sync for Oauth2Error
impl Unpin for Oauth2Error
impl UnwindSafe for Oauth2Error
Blanket Implementations§
§impl<'a, T> AsTaggedExplicit<'a> for Twhere
T: 'a,
impl<'a, T> AsTaggedExplicit<'a> for Twhere
T: 'a,
§impl<'a, T> AsTaggedImplicit<'a> for Twhere
T: 'a,
impl<'a, T> AsTaggedImplicit<'a> 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
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§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 moresource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request