Фикс обновления токена
All checks were successful
Create and publish a Docker image / Publish image (push) Successful in 3m32s
All checks were successful
Create and publish a Docker image / Publish image (push) Successful in 3m32s
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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}");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user