get identifier async

This commit is contained in:
Stanley Dimant
2024-07-28 12:47:04 +02:00
committed by Loporrit
parent 0228c2343b
commit b2fa3b9f32
2 changed files with 8 additions and 6 deletions

View File

@@ -149,7 +149,8 @@ public class FileTransferOrchestrator : DisposableMediatorSubscriberBase
private async Task<HttpResponseMessage> SendRequestInternalAsync(HttpRequestMessage requestMessage, private async Task<HttpResponseMessage> SendRequestInternalAsync(HttpRequestMessage requestMessage,
CancellationToken? ct = null, HttpCompletionOption httpCompletionOption = HttpCompletionOption.ResponseContentRead) 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) if (requestMessage.Content != null && requestMessage.Content is not StreamContent && requestMessage.Content is not ByteArrayContent)
{ {

View File

@@ -96,13 +96,14 @@ public sealed class TokenProvider : IDisposable, IMediatorSubscriber
return response; return response;
} }
private JwtIdentifier? GetIdentifier() private async Task<JwtIdentifier?> GetIdentifier()
{ {
JwtIdentifier jwtIdentifier; JwtIdentifier jwtIdentifier;
try try
{ {
var playerIdentifier = await _dalamudUtil.GetPlayerNameHashedAsync().ConfigureAwait(false);
jwtIdentifier = new(_serverManager.CurrentApiUrl, jwtIdentifier = new(_serverManager.CurrentApiUrl,
_dalamudUtil.GetPlayerNameHashedAsync().GetAwaiter().GetResult(), playerIdentifier,
_serverManager.GetSecretKey(out _)!); _serverManager.GetSecretKey(out _)!);
_lastJwtIdentifier = jwtIdentifier; _lastJwtIdentifier = jwtIdentifier;
} }
@@ -122,9 +123,9 @@ public sealed class TokenProvider : IDisposable, IMediatorSubscriber
return jwtIdentifier; return jwtIdentifier;
} }
public string? GetToken() public async Task<string?> GetToken()
{ {
JwtIdentifier? jwtIdentifier = GetIdentifier(); JwtIdentifier? jwtIdentifier = await GetIdentifier().ConfigureAwait(false);
if (jwtIdentifier == null) return null; if (jwtIdentifier == null) return null;
if (_tokenCache.TryGetValue(jwtIdentifier, out var token)) if (_tokenCache.TryGetValue(jwtIdentifier, out var token))
@@ -137,7 +138,7 @@ public sealed class TokenProvider : IDisposable, IMediatorSubscriber
public async Task<string?> GetOrUpdateToken(CancellationToken ct) public async Task<string?> GetOrUpdateToken(CancellationToken ct)
{ {
JwtIdentifier? jwtIdentifier = GetIdentifier(); JwtIdentifier? jwtIdentifier = await GetIdentifier().ConfigureAwait(false);
if (jwtIdentifier == null) return null; if (jwtIdentifier == null) return null;
if (_tokenCache.TryGetValue(jwtIdentifier, out var token)) if (_tokenCache.TryGetValue(jwtIdentifier, out var token))