wae_authentication/csrf/
error.rs1use std::fmt;
4use wae_types::WaeError;
5
6#[derive(Debug)]
8pub enum CsrfError {
9 InvalidToken,
11 TokenExpired,
13 TokenGenerationFailed,
15}
16
17impl fmt::Display for CsrfError {
18 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
19 match self {
20 CsrfError::InvalidToken => write!(f, "无效的 CSRF 令牌"),
21 CsrfError::TokenExpired => write!(f, "CSRF 令牌已过期"),
22 CsrfError::TokenGenerationFailed => write!(f, "CSRF 令牌生成失败"),
23 }
24 }
25}
26
27impl std::error::Error for CsrfError {}
28
29impl From<CsrfError> for WaeError {
30 fn from(err: CsrfError) -> Self {
31 match err {
32 CsrfError::InvalidToken => WaeError::invalid_params("csrf_token", "invalid token"),
33 CsrfError::TokenExpired => WaeError::invalid_params("csrf_token", "token expired"),
34 CsrfError::TokenGenerationFailed => WaeError::internal("csrf token generation failed"),
35 }
36 }
37}
38
39pub type CsrfResult<T> = Result<T, CsrfError>;