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); } }