Enum oauth2_types::errors::ClientErrorCode
source · pub enum ClientErrorCode {
Show 26 variants
InvalidRequest,
InvalidClient,
InvalidGrant,
UnauthorizedClient,
UnsupportedGrantType,
AccessDenied,
UnsupportedResponseType,
InvalidScope,
ServerError,
TemporarilyUnavailable,
InteractionRequired,
LoginRequired,
AccountSelectionRequired,
ConsentRequired,
InvalidRequestUri,
InvalidRequestObject,
RequestNotSupported,
RequestUriNotSupported,
RegistrationNotSupported,
InvalidRedirectUri,
InvalidClientMetadata,
AuthorizationPending,
SlowDown,
ExpiredToken,
UnsupportedTokenType,
Unknown(String),
}
Expand description
Client error codes defined in OAuth2.0, OpenID Connect and their extensions.
Variants§
InvalidRequest
invalid_request
The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed.
From RFC6749.
InvalidClient
invalid_client
Client authentication failed (e.g., unknown client, no client authentication included, or unsupported authentication method).
From RFC6749.
InvalidGrant
invalid_grant
The provided authorization grant (e.g., authorization code, resource owner credentials) or refresh token is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client.
From RFC6749.
unauthorized_client
The authenticated client is not authorized to use this authorization grant type.
From RFC6749.
UnsupportedGrantType
unsupported_grant_type
The authorization grant type is not supported by the authorization server.
From RFC6749.
AccessDenied
UnsupportedResponseType
unsupported_response_type
The authorization server does not support obtaining an authorization code using this method.
From RFC6749.
InvalidScope
invalid_scope
The requested scope is invalid, unknown, malformed, or exceeds the scope granted by the resource owner.
From RFC6749.
ServerError
server_error
The authorization server encountered an unexpected condition that prevented it from fulfilling the request.
From RFC6749.
temporarily_unavailable
The authorization server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
From RFC6749.
InteractionRequired
interaction_required
The authorization server requires end-user interaction of some form to proceed.
From OpenID Connect Core 1.0.
LoginRequired
login_required
The authorization server requires end-user authentication.
From OpenID Connect Core 1.0.
AccountSelectionRequired
account_selection_required
The end-user is required to select a session at the authorization server.
From OpenID Connect Core 1.0.
ConsentRequired
InvalidRequestUri
invalid_request_uri
The request_uri
in the authorization request returns an error or
contains invalid data.
From OpenID Connect Core 1.0.
InvalidRequestObject
invalid_request_object
The request parameter contains an invalid request object.
From OpenID Connect Core 1.0.
RequestNotSupported
request_not_supported
The authorization server does not support use of the request
parameter.
From OpenID Connect Core 1.0.
RequestUriNotSupported
request_uri_not_supported
The authorization server does not support use of the request_uri
parameter.
From OpenID Connect Core 1.0.
RegistrationNotSupported
registration_not_supported
The authorization server does not support use of the registration
parameter.
From OpenID Connect Core 1.0.
InvalidRedirectUri
InvalidClientMetadata
invalid_client_metadata
The value of one of the client metadata fields is invalid and the server has rejected this request.
From RFC7591.
AuthorizationPending
authorization_pending
The authorization request is still pending as the end user hasn’t yet completed the user-interaction steps.
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, or 5 seconds if none was
provided, and respect any increase in the polling interval required
by the ClientErrorCode::SlowDown
error.
From RFC8628.
SlowDown
slow_down
A variant of ClientErrorCode::AuthorizationPending
, 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.
From RFC8628.
ExpiredToken
expired_token
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.
From RFC8628.
UnsupportedTokenType
unsupported_token_type
The authorization server does not support the revocation of the presented token type. That is, the client tried to revoke an access token on a server not supporting this feature.
From RFC7009.
Unknown(String)
Another error code.
Implementations§
source§impl ClientErrorCode
impl ClientErrorCode
sourcepub fn default_description(&self) -> &'static str
pub fn default_description(&self) -> &'static str
Get the default description for this ClientErrorCode
.
Note that ClientErrorCode::Unknown
returns an empty string.
Trait Implementations§
source§impl Clone for ClientErrorCode
impl Clone for ClientErrorCode
source§fn clone(&self) -> ClientErrorCode
fn clone(&self) -> ClientErrorCode
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ClientErrorCode
impl Debug for ClientErrorCode
source§impl<'de> Deserialize<'de> for ClientErrorCode
impl<'de> Deserialize<'de> for ClientErrorCode
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 ClientErrorCode
impl Display for ClientErrorCode
source§impl From<ClientErrorCode> for ClientError
impl From<ClientErrorCode> for ClientError
source§fn from(error: ClientErrorCode) -> Self
fn from(error: ClientErrorCode) -> Self
source§impl FromStr for ClientErrorCode
impl FromStr for ClientErrorCode
source§impl PartialEq for ClientErrorCode
impl PartialEq for ClientErrorCode
source§fn eq(&self, other: &ClientErrorCode) -> bool
fn eq(&self, other: &ClientErrorCode) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for ClientErrorCodewhere
Self: Display,
impl Serialize for ClientErrorCodewhere
Self: Display,
impl Eq for ClientErrorCode
impl StructuralPartialEq for ClientErrorCode
Auto Trait Implementations§
impl Freeze for ClientErrorCode
impl RefUnwindSafe for ClientErrorCode
impl Send for ClientErrorCode
impl Sync for ClientErrorCode
impl Unpin for ClientErrorCode
impl UnwindSafe for ClientErrorCode
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,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)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<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