diff --git a/library/src/middleware/req_token.rs b/library/src/middleware/req_token.rs index c0031c5..9bcbc50 100644 --- a/library/src/middleware/req_token.rs +++ b/library/src/middleware/req_token.rs @@ -21,14 +21,16 @@ pub async fn authenticate_access_token(mut req: Request, next: Next) -> Response let validation = Validation::default(); match decode::(token, &DecodingKey::from_secret(config!().jwt.token_secret.as_bytes()), &validation) { Ok(decoded) => { + // 从缓存中获取当前用户信息 let account = LOGIN_CACHE.get(&decoded.claims.sub).await; if account.is_none() { return (StatusCode::UNAUTHORIZED, "Invalid token".to_string()).into_response(); } - let account = account.unwrap(); - if account.token != token { - return (StatusCode::UNAUTHORIZED, "Invalid token".to_string()).into_response(); - } + // 判断token是否有效(注释掉,如果服务因为升级等原因手动重启了,缓存的数据也不再存在) + // let account = account.unwrap(); + // if account.token != token { + // return (StatusCode::UNAUTHORIZED, "Invalid token".to_string()).into_response(); + // } // 将Claims附加到请求扩展中,以便后续处理使用 req.extensions_mut().insert(account); next.run(req).await