1use thiserror::Error;
4
5#[derive(Error, Debug)]
6pub enum JwtError {
7 #[error("JWT encoding error: {0}")]
8 EncodingError(#[from] jsonwebtoken::errors::Error),
9
10 #[error("Invalid token: {0}")]
11 InvalidToken(String),
12
13 #[error("Token expired")]
14 TokenExpired,
15
16 #[error("Invalid signature")]
17 InvalidSignature,
18
19 #[error("Missing claim: {0}")]
20 MissingClaim(String),
21
22 #[error("Configuration error: {0}")]
23 ConfigError(String),
24
25 #[error("Serialization error: {0}")]
26 SerializationError(String),
27}
28
29pub type Result<T> = std::result::Result<T, JwtError>;