public static void AddApiKeyAuthorizationHeader(this System.Net.Http.HttpClient client,
                                                 string clientID,
                                                 string secret,
                                                 DateTimeOffset utcNow,
                                                 TimeBasedTokenGenerator tokenGenerator = null)
 {
     client.DefaultRequestHeaders.AddApiKeyAuthorizationHeader(clientID, secret, utcNow, tokenGenerator);
 }
        public static void AddApiKeyAuthorizationHeader(this System.Net.Http.Headers.HttpRequestHeaders headers,
                                                        string clientID,
                                                        string secret,
                                                        DateTimeOffset utcNow,
                                                        TimeBasedTokenGenerator tokenGenerator = null)
        {
            tokenGenerator = tokenGenerator ?? _defaultTokenGenerator;

            string token = Microsoft.AspNetCore.WebUtilities.Base64UrlTextEncoder.Encode(tokenGenerator.ComputeToken(clientID, secret, utcNow));

            headers.Add("Authorization", $"TAPIKEY {clientID}:{token}");
        }