From b1f02b1483a8adfa67d3551feee85830e68d27e2 Mon Sep 17 00:00:00 2001 From: rootdarkarchon Date: Mon, 2 Jan 2023 17:30:29 +0100 Subject: [PATCH] fix jwt tokens being stored globally instead of per server --- MareSynchronos/MareSynchronos.csproj | 2 +- MareSynchronos/WebAPI/ApiController.cs | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) 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"); }