sa_token_core/token/
validator.rs

1// Author: 金书记
2//
3//! Token 验证器
4
5use crate::error::{SaTokenError, SaTokenResult};
6use crate::token::TokenInfo;
7
8pub struct TokenValidator;
9
10impl TokenValidator {
11    /// 验证 token 是否有效
12    pub fn validate(token_info: &TokenInfo) -> SaTokenResult<()> {
13        // 检查是否过期
14        if token_info.is_expired() {
15            return Err(SaTokenError::TokenExpired);
16        }
17        
18        Ok(())
19    }
20    
21    /// 检查 token 格式是否正确
22    pub fn check_format(token: &str) -> SaTokenResult<()> {
23        if token.is_empty() {
24            return Err(SaTokenError::InvalidToken("Token is empty".to_string()));
25        }
26        
27        if token.len() < 8 {
28            return Err(SaTokenError::InvalidToken("Token is too short".to_string()));
29        }
30        
31        Ok(())
32    }
33}