Фикс обновления токена
All checks were successful
Create and publish a Docker image / Publish image (push) Successful in 3m32s

This commit is contained in:
2025-11-19 16:48:19 +03:00
parent aed3ab3e20
commit b868ee66e6
2 changed files with 17 additions and 3 deletions

View File

@@ -1,12 +1,14 @@
using ModeusSchedule.Abstractions; using ModeusSchedule.Abstractions;
using Quartz; using Quartz;
using SfeduSchedule.Services;
namespace SfeduSchedule.Jobs; namespace SfeduSchedule.Jobs;
public class UpdateJwtJob( public class UpdateJwtJob(
IConfiguration configuration, IConfiguration configuration,
ILogger<UpdateJwtJob> logger, ILogger<UpdateJwtJob> logger,
IHttpClientFactory httpClientFactory) : IJob IHttpClientFactory httpClientFactory,
ModeusService modeusService) : IJob
{ {
private const int MaxAttempts = 5; // Максимальное число попыток private const int MaxAttempts = 5; // Максимальное число попыток
private const int DelaySeconds = 20; // Задержка между попытками в секундах private const int DelaySeconds = 20; // Задержка между попытками в секундах
@@ -68,7 +70,9 @@ public class UpdateJwtJob(
} }
configuration["TOKEN"] = body.Jwt; configuration["TOKEN"] = body.Jwt;
await File.WriteAllTextAsync(GlobalConsts.JwtFilePath, body.Jwt + "\n" + DateTime.Now.ToString("O"), cts.Token); modeusService.SetToken(body.Jwt);
await File.WriteAllTextAsync(GlobalConsts.JwtFilePath,
body.Jwt + "\n" + DateTime.Now.ToString("O"), cts.Token);
logger.LogInformation("JWT успешно обновлён"); logger.LogInformation("JWT успешно обновлён");
return; return;
} }

View File

@@ -22,7 +22,17 @@ public class ModeusService
_logger = logger; _logger = logger;
_configuration = configuration; _configuration = configuration;
_httpClient.BaseAddress = new Uri("https://sfedu.modeus.org/"); _httpClient.BaseAddress = new Uri("https://sfedu.modeus.org/");
var token = _configuration["TOKEN"]; SetToken(_configuration["TOKEN"]);
}
public void SetToken(string? token)
{
if (string.IsNullOrWhiteSpace(token)) {
_logger.LogError("SetToken: Предоставленный токен пустой.");
return;
}
_httpClient.DefaultRequestHeaders.Remove(HeaderNames.Authorization);
_httpClient.DefaultRequestHeaders.Add(HeaderNames.Authorization, $"Bearer {token}"); _httpClient.DefaultRequestHeaders.Add(HeaderNames.Authorization, $"Bearer {token}");
} }