pub enum AuthError {
InvalidSignature(String),
InvalidPublicKey(String),
InvalidToken,
ExpiredToken,
ExpiredChallenge,
InvalidChallenge,
Base64Error(String),
JwtError(String),
CryptoError(String),
}
Expand description
Authentication and cryptographic operation errors
This enum provides detailed error information for debugging authentication and cryptographic operations. Each variant includes context about what went wrong.
§Example
use ecdsa_jwt::{AuthError, Result};
fn handle_auth_result(result: Result<()>) {
match result {
Ok(()) => println!("Operation successful"),
Err(AuthError::InvalidSignature(msg)) => println!("Signature error: {}", msg),
Err(AuthError::ExpiredToken) => println!("Token has expired"),
Err(e) => println!("Other error: {}", e),
}
}
Variants§
InvalidSignature(String)
ECDSA signature verification failed
This error occurs when:
- The signature format is invalid
- The signature doesn’t match the challenge and public key
- The public key is incompatible with the signature
InvalidPublicKey(String)
Public key format is invalid or cannot be parsed
This error occurs when:
- The PEM format is malformed
- The key is not a valid ECDSA public key
- The key uses an unsupported curve
InvalidToken
JWT token is invalid, malformed, or has wrong signature
This error occurs when:
- The JWT format is invalid
- The token signature doesn’t match the secret
- The token structure is malformed
ExpiredToken
Token has expired
This error occurs when the JWT’s expiration timestamp is in the past relative to the current time.
ExpiredChallenge
Challenge has expired
This error occurs when a challenge is used after its configured expiration time.
InvalidChallenge
Challenge format is invalid
This error occurs when:
- The challenge is empty
- The challenge is not base64 encoded
- The challenge has the wrong length
Base64Error(String)
Base64 decoding failed
This error occurs when:
- The input contains invalid base64 characters
- The input length is not valid for base64
- Padding is incorrect
JwtError(String)
JWT creation or parsing error
This error occurs when:
- JWT encoding/decoding fails
- The secret is invalid
- The claims structure is incompatible
CryptoError(String)
Generic cryptographic operation error
This error occurs for unexpected cryptographic failures that don’t fit into other categories.