public class UserApiAuthenticationHandler : DelegatingHandler
{
    private readonly IUserApiAuthenticationService _authenticationService;

    public UserApiAuthenticationHandler(IUserApiAuthenticationService authenticationService)
    {
        _authenticationService = authenticationService;
    }
    
    protected async override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationTokencancellationToken)
    {
        var token = await _authenticationService.RetrieveToken();
        request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token);
        return await base.SendAsync(request, cancellationToken);
    }
}