#[non_exhaustive]pub enum CallbackError {
MissingState,
MissingIssuer,
IssuerMismatch {
expected: String,
got: String,
},
Timeout,
LoopbackServer(String),
}Expand description
Typed callback validation errors (redirect handling).
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.
MissingState
The state parameter was absent from the authorization callback.
State is required to prevent CSRF attacks per RFC 6749 §10.12.
MissingIssuer
The iss (issuer) parameter was absent from the authorization callback.
RFC 9207 requires iss to be present so that clients can reject
mix-up attacks from malicious authorization servers.
IssuerMismatch
The issuer in the callback did not match the expected authorization server.
Fields
Timeout
The authorization request timed out before a callback was received.
LoopbackServer(String)
The local loopback callback server could not start or accept callbacks.
Trait Implementations§
Source§impl Debug for CallbackError
impl Debug for CallbackError
Source§impl Diagnostic for CallbackError
impl Diagnostic for CallbackError
Source§fn code(&self) -> Option<Box<dyn Display + '_>>
fn code(&self) -> Option<Box<dyn Display + '_>>
Unique diagnostic code that can be used to look up more information
about this
Diagnostic. Ideally also globally unique, and documented
in the toplevel crate’s documentation for easy searching. Rust path
format (foo::bar::baz) is recommended, but more classic codes like
E0123 or enums will work just fine.Source§fn severity(&self) -> Option<Severity>
fn severity(&self) -> Option<Severity>
Diagnostic severity. This may be used by
ReportHandlers to change the display format
of this diagnostic. Read moreSource§fn help<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
fn help<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
Additional help text related to this
Diagnostic. Do you have any
advice for the poor soul who’s just run into this issue?Source§fn url<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
fn url<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
URL to visit for a more detailed explanation/help about this
Diagnostic.Source§fn source_code(&self) -> Option<&dyn SourceCode>
fn source_code(&self) -> Option<&dyn SourceCode>
Source code to apply this
Diagnostic’s Diagnostic::labels to.Source§fn labels(&self) -> Option<Box<dyn Iterator<Item = LabeledSpan> + '_>>
fn labels(&self) -> Option<Box<dyn Iterator<Item = LabeledSpan> + '_>>
Labels to apply to this
Diagnostic’s Diagnostic::source_codeAdditional related
Diagnostics.Source§fn diagnostic_source(&self) -> Option<&dyn Diagnostic>
fn diagnostic_source(&self) -> Option<&dyn Diagnostic>
The cause of the error.
Source§impl Display for CallbackError
impl Display for CallbackError
Source§impl Error for CallbackError
impl Error for CallbackError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl From<CallbackError> for OAuthError
impl From<CallbackError> for OAuthError
Source§fn from(source: CallbackError) -> Self
fn from(source: CallbackError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for CallbackError
impl RefUnwindSafe for CallbackError
impl Send for CallbackError
impl Sync for CallbackError
impl Unpin for CallbackError
impl UnsafeUnpin for CallbackError
impl UnwindSafe for CallbackError
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
Mutably borrows from an owned value. Read more