diff --git a/MareSynchronos/WebAPI/Files/FileTransferOrchestrator.cs b/MareSynchronos/WebAPI/Files/FileTransferOrchestrator.cs index c3fcd57..3732168 100644 --- a/MareSynchronos/WebAPI/Files/FileTransferOrchestrator.cs +++ b/MareSynchronos/WebAPI/Files/FileTransferOrchestrator.cs @@ -149,7 +149,8 @@ public class FileTransferOrchestrator : DisposableMediatorSubscriberBase private async Task SendRequestInternalAsync(HttpRequestMessage requestMessage, CancellationToken? ct = null, HttpCompletionOption httpCompletionOption = HttpCompletionOption.ResponseContentRead) { - requestMessage.Headers.Authorization = new AuthenticationHeaderValue("Bearer", _tokenProvider.GetToken()); + var token = await _tokenProvider.GetToken().ConfigureAwait(false); + requestMessage.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token); if (requestMessage.Content != null && requestMessage.Content is not StreamContent && requestMessage.Content is not ByteArrayContent) { diff --git a/MareSynchronos/WebAPI/SignalR/TokenProvider.cs b/MareSynchronos/WebAPI/SignalR/TokenProvider.cs index 41d55f3..b4448a9 100644 --- a/MareSynchronos/WebAPI/SignalR/TokenProvider.cs +++ b/MareSynchronos/WebAPI/SignalR/TokenProvider.cs @@ -96,13 +96,14 @@ public sealed class TokenProvider : IDisposable, IMediatorSubscriber return response; } - private JwtIdentifier? GetIdentifier() + private async Task GetIdentifier() { JwtIdentifier jwtIdentifier; try { + var playerIdentifier = await _dalamudUtil.GetPlayerNameHashedAsync().ConfigureAwait(false); jwtIdentifier = new(_serverManager.CurrentApiUrl, - _dalamudUtil.GetPlayerNameHashedAsync().GetAwaiter().GetResult(), + playerIdentifier, _serverManager.GetSecretKey(out _)!); _lastJwtIdentifier = jwtIdentifier; } @@ -122,9 +123,9 @@ public sealed class TokenProvider : IDisposable, IMediatorSubscriber return jwtIdentifier; } - public string? GetToken() + public async Task GetToken() { - JwtIdentifier? jwtIdentifier = GetIdentifier(); + JwtIdentifier? jwtIdentifier = await GetIdentifier().ConfigureAwait(false); if (jwtIdentifier == null) return null; if (_tokenCache.TryGetValue(jwtIdentifier, out var token)) @@ -137,7 +138,7 @@ public sealed class TokenProvider : IDisposable, IMediatorSubscriber public async Task GetOrUpdateToken(CancellationToken ct) { - JwtIdentifier? jwtIdentifier = GetIdentifier(); + JwtIdentifier? jwtIdentifier = await GetIdentifier().ConfigureAwait(false); if (jwtIdentifier == null) return null; if (_tokenCache.TryGetValue(jwtIdentifier, out var token))