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),
}
Available on crate feature experimental-oidc only.
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.

§

UnauthorizedClient

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

access_denied

The resource owner or authorization server denied the request.

From RFC6749.

§

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.

§

TemporarilyUnavailable

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

consent_required

The authorization server requires end-user consent.

From OpenID Connect Core 1.0.

§

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

invalid_redirect_uri

The value of one or more redirection URIs is invalid.

From RFC7591.

§

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§

§

impl ClientErrorCode

pub fn default_description(&self) -> &'static str

Get the default description for this ClientErrorCode.

Note that ClientErrorCode::Unknown returns an empty string.

Trait Implementations§

§

impl Clone for ClientErrorCode

§

fn clone(&self) -> ClientErrorCode

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for ClientErrorCode

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl<'de> Deserialize<'de> for ClientErrorCode

§

fn deserialize<__D>( deserializer: __D ) -> Result<ClientErrorCode, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
§

impl Display for ClientErrorCode

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl From<ClientErrorCode> for ClientError

§

fn from(error: ClientErrorCode) -> ClientError

Converts to this type from the input type.
§

impl FromStr for ClientErrorCode

§

type Err = Infallible

The associated error which can be returned from parsing.
§

fn from_str( s: &str ) -> Result<ClientErrorCode, <ClientErrorCode as FromStr>::Err>

Parses a string s to return a value of this type. Read more
§

impl PartialEq for ClientErrorCode

§

fn eq(&self, other: &ClientErrorCode) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl Serialize for ClientErrorCode

§

fn serialize<__S>( &self, serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
§

impl Eq for ClientErrorCode

§

impl StructuralPartialEq for ClientErrorCode

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CompatExt for T

§

fn compat(self) -> Compat<T>

Applies the [Compat] adapter by value. Read more
§

fn compat_ref(&self) -> Compat<&T>

Applies the [Compat] adapter by shared reference. Read more
§

fn compat_mut(&mut self) -> Compat<&mut T>

Applies the [Compat] adapter by mutable reference. Read more
source§

impl<T> DynClone for T
where T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromRef<T> for T
where T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> FutureExt for T

§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
§

impl<T, UT> HandleAlloc<UT> for T
where T: Send + Sync,

§

fn new_handle(value: Arc<T>) -> Handle

Create a new handle for an Arc value Read more
§

fn clone_handle(handle: Handle) -> Handle

Clone a handle Read more
§

fn consume_handle(handle: Handle) -> Arc<T>

Consume a handle, getting back the initial Arc<>
§

fn get_arc(handle: Handle) -> Arc<Self>

Get a clone of the Arc<> using a “borrowed” handle. Read more
§

impl<T, W> HasTypeWitness<W> for T
where W: MakeTypeWitness<Arg = T>, T: ?Sized,

§

const WITNESS: W = W::MAKE

A constant of the type witness
§

impl<T> Identity for T
where T: ?Sized,

§

type Type = T

The same type as Self, used to emulate type equality bounds (T == U) with associated type equality constraints (T: Identity<Type = U>).
§

const TYPE_EQ: TypeEq<T, <T as Identity>::Type> = TypeEq::NEW

Proof that Self is the same type as Self::Type, provides methods for casting between Self and Self::Type.
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> Any for T
where T: Any,

source§

impl<T> AsyncTraitDeps for T

source§

impl<T> CloneAny for T
where T: Any + Clone,

source§

impl<T> CloneAnySend for T
where T: Any + Send + Clone,

source§

impl<T> CloneAnySendSync for T
where T: Any + Send + Sync + Clone,

source§

impl<T> CloneAnySync for T
where T: Any + Sync + Clone,

source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

source§

impl<T> SendOutsideWasm for T
where T: Send,

source§

impl<T> SyncOutsideWasm for T
where T: Sync,