Skip to main content

OAuthErrorCode

Enum OAuthErrorCode 

Source
#[non_exhaustive]
pub enum OAuthErrorCode {
Show 18 variants InvalidRequest, InvalidClient, InvalidGrant, UnauthorizedClient, UnsupportedGrantType, InvalidScope, AccessDenied, UnsupportedResponseType, ServerError, TemporarilyUnavailable, InvalidToken, InsufficientScope, InvalidTarget, InvalidRedirectUri, InvalidClientMetadata, InvalidSoftwareStatement, UnapprovedSoftwareStatement, Other(String),
}
Expand description

Machine-readable OAuth 2.0 error code

Covers the registered codes from RFC 6749 (authorization and token endpoints), RFC 6750 (bearer token usage), RFC 8707 (resource indicators) and RFC 7591 (dynamic client registration). Unregistered extension codes are preserved as OAuthErrorCode::Other.

Serializes to/from its snake_case wire form:

use volga_oauth_core::OAuthErrorCode;

let code = OAuthErrorCode::InvalidToken;
assert_eq!(code.as_str(), "invalid_token");
assert_eq!(OAuthErrorCode::from("invalid_token"), code);

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

InvalidRequest

The request is missing a required parameter, includes an unsupported parameter value, repeats a parameter or is otherwise malformed

§

InvalidClient

Client authentication failed

§

InvalidGrant

The provided authorization grant or refresh token is invalid, expired or revoked

§

UnauthorizedClient

The authenticated client is not authorized to use this authorization grant type

§

UnsupportedGrantType

The authorization grant type is not supported by the authorization server

§

InvalidScope

The requested scope is invalid, unknown or malformed

§

AccessDenied

The resource owner or authorization server denied the request

§

UnsupportedResponseType

The authorization server does not support obtaining an authorization code using this method

§

ServerError

The server encountered an unexpected condition

§

TemporarilyUnavailable

The server is currently unable to handle the request

§

InvalidToken

The access token is expired, revoked, malformed or otherwise invalid (RFC 6750)

§

InsufficientScope

The request requires higher privileges than provided by the access token (RFC 6750)

§

InvalidTarget

The requested resource is invalid, missing, unknown or malformed (RFC 8707)

§

InvalidRedirectUri

The value of one or more redirection URIs is invalid (RFC 7591)

§

InvalidClientMetadata

The value of one of the client metadata fields is invalid (RFC 7591)

§

InvalidSoftwareStatement

The software statement presented is invalid (RFC 7591)

§

UnapprovedSoftwareStatement

The software statement is not approved for use by this authorization server (RFC 7591)

§

Other(String)

An unregistered extension error code

Implementations§

Source§

impl OAuthErrorCode

Source

pub fn as_str(&self) -> &str

Returns the snake_case wire form of this error code

Source

pub fn status(&self) -> StatusCode

Returns the HTTP status code conventionally paired with this error code

Bearer-usage codes follow RFC 6750 Section 3.1 (invalid_token -> 401, insufficient_scope -> 403); invalid_client maps to 401 and the remaining token/authorization endpoint codes to 400 per RFC 6749 Section 5.2, except server_error (500) and temporarily_unavailable (503). Extension codes default to 400.

Trait Implementations§

Source§

impl Clone for OAuthErrorCode

Source§

fn clone(&self) -> OAuthErrorCode

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for OAuthErrorCode

Source§

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

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for OAuthErrorCode

Source§

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

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

impl Display for OAuthErrorCode

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Eq for OAuthErrorCode

Source§

impl From<&str> for OAuthErrorCode

Source§

fn from(code: &str) -> OAuthErrorCode

Converts to this type from the input type.
Source§

impl From<OAuthErrorCode> for OAuthError

Source§

fn from(error: OAuthErrorCode) -> OAuthError

Converts to this type from the input type.
Source§

impl From<String> for OAuthErrorCode

Source§

fn from(code: String) -> OAuthErrorCode

Converts to this type from the input type.
Source§

impl Hash for OAuthErrorCode

Source§

fn hash<__H>(&self, state: &mut __H)
where __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for OAuthErrorCode

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl Serialize for OAuthErrorCode

Source§

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
Source§

impl StructuralPartialEq for OAuthErrorCode

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
Source§

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

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

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

Source§

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

Source§

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

Checks if this value is equivalent to the given key. Read more
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.

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.

Source§

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

Source§

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§

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>,

Source§

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>,

Source§

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.
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