public KeyVaultCache(
     IOptions <AzureKeyVaultTokenSigningServiceOptions> keyVaultOptions,
     IMemoryCache cache,
     ILogger <KeyVaultCache> logger)
 {
     _keyVaultOptions             = keyVaultOptions.Value;
     _azureKeyVaultAuthentication = new AzureKeyVaultAuthentication(_keyVaultOptions.ClientId, _keyVaultOptions.ClientSecret);
     _cache          = cache;
     _logger         = logger;
     _cachedData     = new DefaultCache <CacheData>(_cache);
     _cacheTimeStamp = new DefaultCache <TimeStamp>(_cache);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="AzureKeyVaultTokenSigningService"/> class.
 /// </summary>
 /// <param name="options">The options.</param>
 public AzureKeyVaultPublicKeyProvider(AzureKeyVaultTokenSigningServiceOptions options)
 {
     _options        = options;
     _authentication = new AzureKeyVaultAuthentication(_options.ClientId, _options.ClientSecret);
 }