diff --git a/MareSynchronos/MareSynchronos.csproj b/MareSynchronos/MareSynchronos.csproj index acf4754..20abdc2 100644 --- a/MareSynchronos/MareSynchronos.csproj +++ b/MareSynchronos/MareSynchronos.csproj @@ -3,7 +3,7 @@ - 0.5.19 + 0.5.20 https://github.com/Penumbra-Sync/client diff --git a/MareSynchronos/WebAPI/ApiController.cs b/MareSynchronos/WebAPI/ApiController.cs index 63c8035..8c5a094 100644 --- a/MareSynchronos/WebAPI/ApiController.cs +++ b/MareSynchronos/WebAPI/ApiController.cs @@ -31,8 +31,8 @@ public partial class ApiController : IDisposable, IMareHubClient private readonly DalamudUtil _dalamudUtil; private readonly FileCacheManager _fileDbManager; private CancellationTokenSource _connectionCancellationTokenSource; - private string _jwtToken = string.Empty; - private KeyValuePair AuthorizationJwtHeader => new("Authorization", "Bearer " + _jwtToken); + private Dictionary _jwtToken = new(StringComparer.Ordinal); + private KeyValuePair AuthorizationJwtHeader => new("Authorization", "Bearer " + _jwtToken[ApiUri]); private HubConnection? _mareHub; @@ -173,7 +173,7 @@ public partial class ApiController : IDisposable, IMareHubClient { Logger.Debug("Building connection"); - if (string.IsNullOrEmpty(_jwtToken) || forceGetToken) + if (!_jwtToken.TryGetValue(ApiUri, 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("auth", auth) })).ConfigureAwait(false); result.EnsureSuccessStatusCode(); - _jwtToken = await result.Content.ReadAsStringAsync().ConfigureAwait(false); + _jwtToken[ApiUri] = await result.Content.ReadAsStringAsync().ConfigureAwait(false); Logger.Debug("JWT Token Success"); }