stop caching jwt per url but instead per auth key (chances they are the same between servers are low)

This commit is contained in:
rootdarkarchon
2023-01-03 03:21:42 +01:00
parent b1f02b1483
commit 576775f52b

View File

@@ -32,7 +32,7 @@ public partial class ApiController : IDisposable, IMareHubClient
private readonly FileCacheManager _fileDbManager;
private CancellationTokenSource _connectionCancellationTokenSource;
private Dictionary<string, string> _jwtToken = new(StringComparer.Ordinal);
private KeyValuePair<string, string> AuthorizationJwtHeader => new("Authorization", "Bearer " + _jwtToken[ApiUri]);
private KeyValuePair<string, string> AuthorizationJwtHeader => new("Authorization", "Bearer " + _jwtToken[SecretKey]);
private HubConnection? _mareHub;
@@ -173,7 +173,7 @@ public partial class ApiController : IDisposable, IMareHubClient
{
Logger.Debug("Building connection");
if (!_jwtToken.TryGetValue(ApiUri, out var jwtToken) || forceGetToken)
if (!_jwtToken.TryGetValue(SecretKey, out var jwtToken) || forceGetToken)
{
Logger.Debug("Requesting new JWT token");
using HttpClient httpClient = new();
@@ -187,7 +187,7 @@ public partial class ApiController : IDisposable, IMareHubClient
new KeyValuePair<string, string>("auth", auth)
})).ConfigureAwait(false);
result.EnsureSuccessStatusCode();
_jwtToken[ApiUri] = await result.Content.ReadAsStringAsync().ConfigureAwait(false);
_jwtToken[SecretKey] = await result.Content.ReadAsStringAsync().ConfigureAwait(false);
Logger.Debug("JWT Token Success");
}