pub enum AuthError {
MissingToken,
InvalidTokenFormat(String),
TokenExpired,
InvalidSignature,
UnsupportedAlgorithm {
alg: String,
},
UnknownKid {
kid: String,
},
ReplayDetected {
jti: String,
},
Forbidden {
resource_type: String,
operation: String,
},
JwksFetchError(String),
ValidationError(String),
InternalError(String),
}Expand description
Errors that can occur during authentication and authorization.
Variants§
MissingToken
No Authorization header present.
InvalidTokenFormat(String)
Authorization header is malformed.
TokenExpired
Token has expired.
InvalidSignature
Token signature is invalid.
UnsupportedAlgorithm
JWT algorithm is not in the allowed list.
UnknownKid
Key ID from JWT header not found in JWKS.
ReplayDetected
Token with this JTI has already been used.
Forbidden
Authenticated principal lacks required scopes.
Fields
JwksFetchError(String)
Failed to fetch JWKS from the endpoint.
ValidationError(String)
General token validation error.
InternalError(String)
Internal error in the auth subsystem.
Trait Implementations§
Source§impl Error for AuthError
impl Error for AuthError
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()
Auto Trait Implementations§
impl Freeze for AuthError
impl RefUnwindSafe for AuthError
impl Send for AuthError
impl Sync for AuthError
impl Unpin for AuthError
impl UnsafeUnpin for AuthError
impl UnwindSafe for AuthError
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.