[0.6.10] - 2025-10-04
Some checks failed
Deploy quoter Microservice on push / deploy (push) Failing after 36m41s
Some checks failed
Deploy quoter Microservice on push / deploy (push) Failing after 36m41s
### 🔒 FIX: JWT Token Grace Period - **✅ Добавлен grace period для истекших токенов**: 60 секунд - Изменена логика проверки JWT `exp` в `auth.rs` - Токены принимаются в течение 60 секунд после истечения - Это даёт клиенту время автоматически обновить токен через `refreshToken()` - Логирование разделено: `info` для grace period, `warn` для полного истечения - Решает проблему "Invalid or expired token" при параллельных запросах - Формула: `if exp + 60 < current_time` → reject, иначе accept - Предотвращает race condition: upload начался до истечения, закончился после
This commit is contained in:
@@ -29,7 +29,7 @@ async fn test_redis_url_parsing() {
|
||||
if let Ok(parsed) = url::Url::parse(url) {
|
||||
println!(
|
||||
"Testing Redis URL: {}",
|
||||
url.replace(&url.split('@').nth(0).unwrap_or(""), "***")
|
||||
url.replace(url.split('@').next().unwrap_or(""), "***")
|
||||
);
|
||||
println!(" Host: {}", parsed.host_str().unwrap_or("none"));
|
||||
println!(" Port: {}", parsed.port().unwrap_or(0));
|
||||
@@ -76,7 +76,7 @@ async fn test_redis_connection_with_env() {
|
||||
if let Ok(redis_url) = env::var("REDIS_URL") {
|
||||
println!(
|
||||
"Testing with real REDIS_URL: {}",
|
||||
redis_url.replace(&redis_url.split('@').nth(0).unwrap_or(""), "***")
|
||||
redis_url.replace(redis_url.split('@').next().unwrap_or(""), "***")
|
||||
);
|
||||
|
||||
// Парсим реальный URL для детального вывода
|
||||
@@ -186,7 +186,7 @@ async fn test_redis_default_username_behavior() {
|
||||
println!("\n--- {} ---", description);
|
||||
println!(
|
||||
"URL: {}",
|
||||
url.replace(&url.split('@').nth(0).unwrap_or(""), "***")
|
||||
url.replace(url.split('@').next().unwrap_or(""), "***")
|
||||
);
|
||||
|
||||
if let Ok(parsed) = url::Url::parse(url) {
|
||||
|
||||
Reference in New Issue
Block a user