diff --git a/CHANGELOG.md b/CHANGELOG.md
index 55378e5c70..c7d611624b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
 
 ## [Unreleased]
 
+### Fixed
+- Fix bug of cache not working in authn jwt. [ONYX-11330](https://ca-il-jira.il.cyber-ark.com:8443/browse/ONYX-11330)
+
 ## [1.13.0] - 2021-07-29
 
 ### Added
diff --git a/app/domain/authentication/authn_jwt/signing_key/create_signing_key_factory.rb b/app/domain/authentication/authn_jwt/signing_key/create_signing_key_provider.rb
similarity index 95%
rename from app/domain/authentication/authn_jwt/signing_key/create_signing_key_factory.rb
rename to app/domain/authentication/authn_jwt/signing_key/create_signing_key_provider.rb
index ac0f0e4850..08d95b3f46 100644
--- a/app/domain/authentication/authn_jwt/signing_key/create_signing_key_factory.rb
+++ b/app/domain/authentication/authn_jwt/signing_key/create_signing_key_provider.rb
@@ -2,7 +2,7 @@ module Authentication
   module AuthnJwt
     module SigningKey
       # Factory that returns the interface implementation of FetchSigningKey
-      CreateSigningKeyFactory ||= CommandClass.new(
+      CreateSigningKeyProvider ||= CommandClass.new(
         dependencies: {
           fetch_provider_uri_signing_key_class: Authentication::AuthnJwt::SigningKey::FetchProviderUriSigningKey,
           fetch_jwks_uri_signing_key_class: Authentication::AuthnJwt::SigningKey::FetchJwksUriSigningKey,
@@ -13,12 +13,12 @@ module SigningKey
         def call
           @logger.debug(LogMessages::Authentication::AuthnJwt::SelectingSigningKeyInterface.new)
           validate_key_configuration
-          create_signing_key
+          create_signing_key_provider
         end
 
         private
 
-        def create_signing_key
+        def create_signing_key_provider
           if provider_uri_has_valid_configuration?
             @logger.info(
               LogMessages::Authentication::AuthnJwt::SelectedSigningKeyInterface.new(PROVIDER_URI_INTERFACE_NAME)
diff --git a/app/domain/authentication/authn_jwt/signing_key/fetch_cached_signing_key.rb b/app/domain/authentication/authn_jwt/signing_key/fetch_cached_signing_key.rb
index 2d916585aa..8596e29ac6 100644
--- a/app/domain/authentication/authn_jwt/signing_key/fetch_cached_signing_key.rb
+++ b/app/domain/authentication/authn_jwt/signing_key/fetch_cached_signing_key.rb
@@ -6,20 +6,18 @@ module SigningKey
       # fetch_signing_key it is extreme case that error need to be raised so it can be investigated so reek will ignore
       # this.
       # :reek:InstanceVariableAssumption
-      class FetchCachedSigningKey
-        def initialize(logger: Rails.logger)
-          @logger = logger
-        end
-
-        def call(signing_key_interface:)
-          @signing_key_interface = signing_key_interface
+      FetchCachedSigningKey = CommandClass.new(
+        dependencies: {},
+        inputs: %i[signing_key_provider]
+      ) do
+        def call
           fetch_signing_key
         end
 
         private
 
         def fetch_signing_key
-          @signing_key_interface.fetch_signing_key
+          @signing_key_provider.fetch_signing_key
         end
       end
     end
diff --git a/app/domain/authentication/authn_jwt/validate_and_decode/validate_and_decode_token.rb b/app/domain/authentication/authn_jwt/validate_and_decode/validate_and_decode_token.rb
index b177a36072..5ac7365995 100644
--- a/app/domain/authentication/authn_jwt/validate_and_decode/validate_and_decode_token.rb
+++ b/app/domain/authentication/authn_jwt/validate_and_decode/validate_and_decode_token.rb
@@ -7,7 +7,7 @@ module ValidateAndDecode
       # for the 2nd validation
       ValidateAndDecodeToken ||= CommandClass.new(
         dependencies: {
-          fetch_signing_key_from_cache: ::Util::ConcurrencyLimitedCache.new(
+          fetch_signing_key: ::Util::ConcurrencyLimitedCache.new(
             ::Util::RateLimitedCache.new(
               ::Authentication::AuthnJwt::SigningKey::FetchCachedSigningKey.new,
               refreshes_per_interval: CACHE_REFRESHES_PER_INTERVAL,
@@ -20,7 +20,7 @@ module ValidateAndDecode
           verify_and_decode_token: ::Authentication::Jwt::VerifyAndDecodeToken.new,
           fetch_jwt_claims_to_validate: ::Authentication::AuthnJwt::ValidateAndDecode::FetchJwtClaimsToValidate.new,
           get_verification_option_by_jwt_claim: ::Authentication::AuthnJwt::ValidateAndDecode::GetVerificationOptionByJwtClaim.new,
-          signing_key_interface_factory: ::Authentication::AuthnJwt::SigningKey::CreateSigningKeyFactory.new,
+          create_signing_key_provider: ::Authentication::AuthnJwt::SigningKey::CreateSigningKeyProvider.new,
           logger: Rails.logger
         },
         inputs: %i[authentication_parameters]
@@ -31,7 +31,6 @@ module ValidateAndDecode
         def call
           @logger.debug(LogMessages::Authentication::AuthnJwt::ValidatingToken.new)
           validate_token_exists
-          fetch_signing_key_interface
           fetch_signing_key
           validate_signature
           fetch_jwt_claims_to_validate
@@ -43,9 +42,8 @@ def call
 
         private
 
-        # Don't do memoization here because otherwise interface won't change between different requests
-        def fetch_signing_key_interface
-          @signing_key_interface = @signing_key_interface_factory.call(
+        def signing_key_provider
+          @signing_key_provider ||= @create_signing_key_provider.call(
             authentication_parameters: @authentication_parameters
           )
         end
@@ -55,10 +53,10 @@ def validate_token_exists
         end
 
         def fetch_signing_key(force_read: false)
-          @jwks = @fetch_signing_key_from_cache.call(
+          @jwks = @fetch_signing_key.call(
             refresh: force_read,
-            cache_key: @signing_key_interface.signing_key_uri,
-            signing_key_interface: @signing_key_interface
+            cache_key: signing_key_provider.signing_key_uri,
+            signing_key_provider: signing_key_provider
           )
           @logger.debug(LogMessages::Authentication::AuthnJwt::SigningKeysFetchedFromCache.new)
         end
diff --git a/app/domain/authentication/authn_jwt/validate_status.rb b/app/domain/authentication/authn_jwt/validate_status.rb
index e9ca7a07f9..8fe377a756 100644
--- a/app/domain/authentication/authn_jwt/validate_status.rb
+++ b/app/domain/authentication/authn_jwt/validate_status.rb
@@ -3,7 +3,7 @@ module AuthnJwt
 
     ValidateStatus = CommandClass.new(
       dependencies: {
-        fetch_signing_key_from_cache: ::Util::ConcurrencyLimitedCache.new(
+        fetch_signing_key: ::Util::ConcurrencyLimitedCache.new(
           ::Util::RateLimitedCache.new(
             ::Authentication::AuthnJwt::SigningKey::FetchCachedSigningKey.new,
             refreshes_per_interval: CACHE_REFRESHES_PER_INTERVAL,
@@ -13,7 +13,7 @@ module AuthnJwt
           max_concurrent_requests: CACHE_MAX_CONCURRENT_REQUESTS,
           logger: Rails.logger
         ),
-        create_signing_key_interface: Authentication::AuthnJwt::SigningKey::CreateSigningKeyFactory.new,
+        create_signing_key_provider: Authentication::AuthnJwt::SigningKey::CreateSigningKeyProvider.new,
         fetch_issuer_value: Authentication::AuthnJwt::ValidateAndDecode::FetchIssuerValue.new,
         fetch_audience_value: Authentication::AuthnJwt::ValidateAndDecode::FetchAudienceValue.new,
         fetch_enforced_claims: Authentication::AuthnJwt::RestrictionValidation::FetchEnforcedClaims.new,
@@ -144,15 +144,15 @@ def webservice
       end
 
       def validate_signing_key
-        @fetch_signing_key_from_cache.call(
-          cache_key: signing_key_interface.signing_key_uri,
-          signing_key_interface: signing_key_interface
+        @fetch_signing_key.call(
+          cache_key: signing_key_provider.signing_key_uri,
+          signing_key_provider: signing_key_provider
         )
         @logger.debug(LogMessages::Authentication::AuthnJwt::ValidatedSigningKeyConfiguration.new)
       end
       
-      def signing_key_interface
-        @signing_key_interface ||= @create_signing_key_interface.call(
+      def signing_key_provider
+        @signing_key_provider ||= @create_signing_key_provider.call(
           authentication_parameters: authentication_parameters
         )
       end
diff --git a/app/domain/authentication/authn_jwt/vendor_configurations/configuration_jwt_generic_vendor.rb b/app/domain/authentication/authn_jwt/vendor_configurations/configuration_jwt_generic_vendor.rb
index b75e2b547d..ba0cb9f257 100644
--- a/app/domain/authentication/authn_jwt/vendor_configurations/configuration_jwt_generic_vendor.rb
+++ b/app/domain/authentication/authn_jwt/vendor_configurations/configuration_jwt_generic_vendor.rb
@@ -82,12 +82,6 @@ def identity_provider
           )
         end
 
-        def fetch_singing_key_interface
-          @fetch_singing_key_interface ||= create_signing_key_interface.call(
-            authentication_parameters: @authentication_parameters
-          )
-        end
-
         def create_identity_provider
           @logger.debug(LogMessages::Authentication::AuthnJwt::CreateJwtIdentityProviderInstance.new)
           @create_identity_provider ||= @create_identity_provider
@@ -95,16 +89,6 @@ def create_identity_provider
           @create_identity_provider
         end
 
-        def fetch_signing_key_interface
-          @fetch_signing_key_interface ||= create_signing_key_interface.call(
-            authentication_parameters: @authentication_parameters
-          )
-        end
-
-        def create_signing_key_interface
-          @create_signing_key_interface ||= Authentication::AuthnJwt::SigningKey::CreateSigningKeyFactory.new
-        end
-
         def restrictions_from_annotations
           @restrictions_from_annotations ||= Authentication::ResourceRestrictions::GetServiceSpecificRestrictionFromAnnotation.new
         end
diff --git a/app/domain/util/concurrency_limited_cache.rb b/app/domain/util/concurrency_limited_cache.rb
index ffc2676323..6fbff88d3c 100644
--- a/app/domain/util/concurrency_limited_cache.rb
+++ b/app/domain/util/concurrency_limited_cache.rb
@@ -25,7 +25,7 @@ def initialize(
     # not in case before the flow runs and it can cause unexpected behaviour so reek will ignore this.
     # reek:DuplicateMethodCall
     def call(**args)
-      cache_key = cached_key(args)
+      cache_key = cache_key(args)
       @concurrency_mutex.synchronize do
         if @concurrent_requests >= @max_concurrent_requests
           @logger.debug(
@@ -72,13 +72,18 @@ def decrease_concurrent_requests
       end
     end
 
-    def cached_key(args)
-      cache_key = args.key?(:cache_key) ? args.fetch(:cache_key) : args
-      @logger.debug(
-        LogMessages::Util::ConcurrencyLimitedCacheKeyRetrieved.new(
-          cache_key
+    # Function returning cache key to store/retrieve in the cache
+    def cache_key(args)
+      if args.key?(:cache_key)
+        cache_key = args.fetch(:cache_key)
+        @logger.debug(
+          LogMessages::Util::ConcurrencyLimitedCacheKeyRetrieved.new(
+            cache_key
+          )
         )
-      )
+      else
+        cache_key = args
+      end
       cache_key
     end
   end
diff --git a/app/domain/util/rate_limited_cache.rb b/app/domain/util/rate_limited_cache.rb
index 4e43919278..befa064dae 100644
--- a/app/domain/util/rate_limited_cache.rb
+++ b/app/domain/util/rate_limited_cache.rb
@@ -72,14 +72,14 @@ def cached_key(args)
       if args.key?(:cache_key)
         cache_key = args.fetch(:cache_key)
         args.delete(:cache_key)
-        cache_key
-      end
-      cache_key = args
-      @logger.debug(
-        LogMessages::Util::RateLimitedCacheKeyRetrieved.new(
-          cache_key
+        @logger.debug(
+          LogMessages::Util::RateLimitedCacheKeyRetrieved.new(
+            cache_key
+          )
         )
-      )
+      else
+        cache_key = args
+      end
       cache_key
     end
 
diff --git a/cucumber/authenticators_jwt/features/authn_jwt_fetch_signing_key.feature b/cucumber/authenticators_jwt/features/authn_jwt_fetch_signing_key.feature
index 79a49b3b58..700ef18fda 100644
--- a/cucumber/authenticators_jwt/features/authn_jwt_fetch_signing_key.feature
+++ b/cucumber/authenticators_jwt/features/authn_jwt_fetch_signing_key.feature
@@ -3,6 +3,7 @@ Feature: JWT Authenticator - Fetch signing key
   In this feature we define a JWT authenticator with various signing key
   configurations.
 
+  @sanity
   Scenario: ONYX-8702: provider-uri is configured with valid value
     Given I load a policy:
     """
@@ -88,59 +89,6 @@ Feature: JWT Authenticator - Fetch signing key
     CONJ00011E Failed to discover Identity Provider (Provider URI: 'unknown-host.com')
     """
 
-  Scenario: ONYX-8703: jwks uri configured with correct value
-    Given I load a policy:
-    """
-    - !policy
-      id: conjur/authn-jwt/raw
-      body:
-      - !webservice
-
-      - !variable
-        id: jwks-uri
-
-      - !variable
-        id: token-app-property
-
-      - !group hosts
-
-      - !permit
-        role: !group hosts
-        privilege: [ read, authenticate ]
-        resource: !webservice
-
-    - !host
-      id: myapp
-      annotations:
-        authn-jwt/raw/project-id: myproject
-
-    - !grant
-      role: !group conjur/authn-jwt/raw/hosts
-      member: !host myapp
-    """
-    And I am the super-user
-    And I initialize remote JWKS endpoint with file "authn-jwt-fetch-signing-key" and alg "RS256"
-    And I successfully set authn-jwt "jwks-uri" variable value to "http://jwks_py:8090/authn-jwt-fetch-signing-key/RS256" in service "raw"
-    And I have a "variable" resource called "test-variable"
-    And I successfully set authn-jwt "token-app-property" variable to value "host"
-    And I permit host "myapp" to "execute" it
-    And I add the secret value "test-secret" to the resource "cucumber:variable:test-variable"
-    And I am using file "authn-jwt-fetch-signing-key" and alg "RS256" for remotely issue token:
-    """
-    {
-      "host":"myapp",
-      "project-id": "myproject"
-    }
-    """
-    And I save my place in the log file
-    When I authenticate via authn-jwt with the JWT token
-    Then host "myapp" has been authorized by Conjur
-    And I successfully GET "/secrets/cucumber/variable/test-variable" with authorized user
-    And The following appears in the log after my savepoint:
-    """
-    cucumber:host:myapp successfully authenticated with authenticator authn-jwt service cucumber:webservice:conjur/authn-jwt/raw
-    """
-
   Scenario: ONYX-8705: jwks uri configured with bad value
     Given I load a policy:
     """
diff --git a/spec/app/domain/authentication/authn-jwt/signing_key/create_signing_key_factory_spec.rb b/spec/app/domain/authentication/authn-jwt/signing_key/create_signing_key_provider_spec.rb
similarity index 97%
rename from spec/app/domain/authentication/authn-jwt/signing_key/create_signing_key_factory_spec.rb
rename to spec/app/domain/authentication/authn-jwt/signing_key/create_signing_key_provider_spec.rb
index 3eed59f336..0ee8609153 100644
--- a/spec/app/domain/authentication/authn-jwt/signing_key/create_signing_key_factory_spec.rb
+++ b/spec/app/domain/authentication/authn-jwt/signing_key/create_signing_key_provider_spec.rb
@@ -2,7 +2,7 @@
 
 require 'spec_helper'
 
-RSpec.describe('Authentication::AuthnJwt::SigningKey::CreateSigningKeyInterface') do
+RSpec.describe('Authentication::AuthnJwt::SigningKey::CreateSigningKeyProvider') do
 
   let(:authenticator_name) { 'authn-jwt' }
   let(:service_id) { "my-service" }
@@ -70,11 +70,11 @@
   #   )(   ) _ (  )__)     )(   )__) \__ \  )(  \__ \
   #  (__) (_) (_)(____)   (__) (____)(___/ (__) (___/
 
-  context "CreateSigningKeyInterface " do
+  context "CreateSigningKeyProvider " do
     context "'jwks-uri' and 'provider-uri' exist" do
 
       subject do
-        ::Authentication::AuthnJwt::SigningKey::CreateSigningKeyFactory.new(
+        ::Authentication::AuthnJwt::SigningKey::CreateSigningKeyProvider.new(
           fetch_provider_uri_signing_key_class: mocked_fetch_exists_provider_uri,
           fetch_jwks_uri_signing_key_class: mocked_fetch_exists_jwks_uri,
           logger: mocked_logger
@@ -91,7 +91,7 @@
     context "'jwks-uri' and 'provider-uri' does not exist" do
 
       subject do
-        ::Authentication::AuthnJwt::SigningKey::CreateSigningKeyFactory.new(
+        ::Authentication::AuthnJwt::SigningKey::CreateSigningKeyProvider.new(
           fetch_provider_uri_signing_key_class: mocked_fetch_non_exists_provider_uri,
           fetch_jwks_uri_signing_key_class: mocked_fetch_non_exists_jwks_uri,
           logger: mocked_logger
@@ -108,7 +108,7 @@
     context "'jwks-uri' exits and 'provider-uri' does not exists" do
 
       subject do
-        ::Authentication::AuthnJwt::SigningKey::CreateSigningKeyFactory.new(
+        ::Authentication::AuthnJwt::SigningKey::CreateSigningKeyProvider.new(
           fetch_provider_uri_signing_key_class: mocked_fetch_non_exists_provider_uri,
           fetch_jwks_uri_signing_key_class: mocked_fetch_exists_jwks_uri,
           logger: mocked_logger
@@ -125,7 +125,7 @@
     context "'jwks-uri' does not exists and 'provider-uri' exist" do
 
       subject do
-        ::Authentication::AuthnJwt::SigningKey::CreateSigningKeyFactory.new(
+        ::Authentication::AuthnJwt::SigningKey::CreateSigningKeyProvider.new(
           fetch_provider_uri_signing_key_class: mocked_fetch_exists_provider_uri,
           fetch_jwks_uri_signing_key_class: mocked_fetch_non_exists_jwks_uri,
           logger: mocked_logger
diff --git a/spec/app/domain/authentication/authn-jwt/validate_and_decode/validate_and_decode_token_spec.rb b/spec/app/domain/authentication/authn-jwt/validate_and_decode/validate_and_decode_token_spec.rb
index 9642918ed4..67e25cec4a 100644
--- a/spec/app/domain/authentication/authn-jwt/validate_and_decode/validate_and_decode_token_spec.rb
+++ b/spec/app/domain/authentication/authn-jwt/validate_and_decode/validate_and_decode_token_spec.rb
@@ -45,16 +45,16 @@
     )
   }
 
-  let(:mocked_signing_key_interface_factory_valid) { double("MockedSigningKeyInterfaceFactoryValid") }
-  let(:mocked_signing_key_interface_factory_invalid) { double("MockedSigningKeyInterfaceFactoryInvalid") }
-  let(:mocked_signing_key_interface_factory_failed) { double("MockedSigningKeyInterfaceFactoryFailed") }
+  let(:mocked_create_signing_key_provider_valid) { double("MockedSigningKeyInterfaceFactoryValid") }
+  let(:mocked_create_signing_key_provider_invalid) { double("MockedSigningKeyInterfaceFactoryInvalid") }
+  let(:mocked_create_signing_key_provider_failed) { double("MockedSigningKeyInterfaceFactoryFailed") }
 
-  let(:signing_key_interface_factory_error) { "signing key interface factory error" }
+  let(:create_signing_key_provider_error) { "signing key interface factory error" }
 
-  let(:mocked_fetch_signing_key_interface_valid) { double("MockedSigningKeyInterfaceValid") }
-  let(:mocked_fetch_signing_key_interface_failed) { double("MockedSigningKeyInterfaceFailed") }
+  let(:mocked_fetch_signing_key_provider_valid) { double("MockedSigningKeyInterfaceValid") }
+  let(:mocked_fetch_signing_key_provider_failed) { double("MockedSigningKeyInterfaceFailed") }
 
-  let(:fetch_signing_key_interface_error) { "fetch signing key interface error" }
+  let(:fetch_signing_key_provider_error) { "fetch signing key interface error" }
 
   let(:mocked_fetch_signing_key_failed_on_1st_time) { double("MockedFetchSigningKeyInvalid") }
   let(:mocked_fetch_signing_key_failed_on_2nd_time) { double("MockedFetchSigningKeyInvalid") }
@@ -136,31 +136,31 @@ def valid_decoded_token(claims)
   let(:mocked_verify_and_decode_token_succeed_to_validate_claims_when_keys_updated) { double("MockedVerifyAndDecodeTokenSucceedToValidateClaims") }
 
   before(:each) do
-    allow(mocked_fetch_signing_key_interface_valid).to(
+    allow(mocked_fetch_signing_key_provider_valid).to(
       receive(:signing_key_uri).and_return(valid_signing_key_uri)
     )
 
-    allow(mocked_signing_key_interface_factory_valid).to(
-      receive(:call).and_return(mocked_fetch_signing_key_interface_valid)
+    allow(mocked_create_signing_key_provider_valid).to(
+      receive(:call).and_return(mocked_fetch_signing_key_provider_valid)
     )
 
-    allow(mocked_fetch_signing_key_interface_failed).to(
-      receive(:signing_key_uri).and_raise(fetch_signing_key_interface_error)
+    allow(mocked_fetch_signing_key_provider_failed).to(
+      receive(:signing_key_uri).and_raise(fetch_signing_key_provider_error)
     )
 
-    allow(mocked_signing_key_interface_factory_invalid).to(
-      receive(:call).and_return(mocked_fetch_signing_key_interface_failed)
+    allow(mocked_create_signing_key_provider_invalid).to(
+      receive(:call).and_return(mocked_fetch_signing_key_provider_failed)
     )
 
-    allow(mocked_signing_key_interface_factory_failed).to(
-      receive(:call).and_raise(signing_key_interface_factory_error)
+    allow(mocked_create_signing_key_provider_failed).to(
+      receive(:call).and_raise(create_signing_key_provider_error)
     )
 
     allow(mocked_fetch_signing_key_failed_on_1st_time).to(
       receive(:call).with(
         refresh: false,
         cache_key: anything(),
-        signing_key_interface: anything()
+        signing_key_provider: anything()
       ).and_raise(fetch_signing_key_1st_time_error)
     )
 
@@ -168,7 +168,7 @@ def valid_decoded_token(claims)
       receive(:call).with(
         refresh: false,
         cache_key: anything(),
-        signing_key_interface: anything()
+        signing_key_provider: anything()
       ).and_return(jwks_from_2nd_call)
     )
 
@@ -176,7 +176,7 @@ def valid_decoded_token(claims)
       receive(:call).with(
         refresh: true,
         cache_key: anything(),
-        signing_key_interface: anything()
+        signing_key_provider: anything()
       ).and_raise(fetch_signing_key_2nd_time_error)
     )
 
@@ -188,7 +188,7 @@ def valid_decoded_token(claims)
       receive(:call).with(
         refresh: false,
         cache_key: anything(),
-        signing_key_interface: anything()
+        signing_key_provider: anything()
       ).and_return(jwks_from_1st_call)
     )
 
@@ -196,7 +196,7 @@ def valid_decoded_token(claims)
       receive(:call).with(
         refresh: true,
         cache_key: anything(),
-        signing_key_interface: anything()
+        signing_key_provider: anything()
       ).and_return(jwks_from_2nd_call)
     )
 
@@ -345,38 +345,38 @@ def valid_decoded_token(claims)
     context "When error is during signing key factory call" do
       subject do
         ::Authentication::AuthnJwt::ValidateAndDecode::ValidateAndDecodeToken.new(
-          fetch_signing_key_from_cache: mocked_fetch_signing_key_failed_on_1st_time,
-          signing_key_interface_factory: mocked_signing_key_interface_factory_failed
+          fetch_signing_key: mocked_fetch_signing_key_failed_on_1st_time,
+          create_signing_key_provider: mocked_create_signing_key_provider_failed
         ).call(
           authentication_parameters: authentication_parameters_with_valid_token
         )
       end
 
       it "raises an error" do
-        expect { subject }.to raise_error(signing_key_interface_factory_error)
+        expect { subject }.to raise_error(create_signing_key_provider_error)
       end
     end
 
     context "When error is during signing_key_uri call" do
       subject do
         ::Authentication::AuthnJwt::ValidateAndDecode::ValidateAndDecodeToken.new(
-          fetch_signing_key_from_cache: mocked_fetch_signing_key_failed_on_1st_time,
-          signing_key_interface_factory: mocked_signing_key_interface_factory_invalid
+          fetch_signing_key: mocked_fetch_signing_key_failed_on_1st_time,
+          create_signing_key_provider: mocked_create_signing_key_provider_invalid
         ).call(
           authentication_parameters: authentication_parameters_with_valid_token
         )
       end
 
       it "raises an error" do
-        expect { subject }.to raise_error(fetch_signing_key_interface_error)
+        expect { subject }.to raise_error(fetch_signing_key_provider_error)
       end
     end
 
     context "When error is during fetching from cache" do
       subject do
         ::Authentication::AuthnJwt::ValidateAndDecode::ValidateAndDecodeToken.new(
-          fetch_signing_key_from_cache: mocked_fetch_signing_key_failed_on_1st_time,
-          signing_key_interface_factory: mocked_signing_key_interface_factory_valid
+          fetch_signing_key: mocked_fetch_signing_key_failed_on_1st_time,
+          create_signing_key_provider: mocked_create_signing_key_provider_valid
         ).call(
           authentication_parameters: authentication_parameters_with_valid_token
         )
@@ -393,9 +393,9 @@ def valid_decoded_token(claims)
       context "and failed to fetch keys from provider" do
         subject do
           ::Authentication::AuthnJwt::ValidateAndDecode::ValidateAndDecodeToken.new(
-            fetch_signing_key_from_cache: mocked_fetch_signing_key_failed_on_2nd_time,
+            fetch_signing_key: mocked_fetch_signing_key_failed_on_2nd_time,
             verify_and_decode_token: mocked_verify_and_decode_token_invalid,
-            signing_key_interface_factory: mocked_signing_key_interface_factory_valid
+            create_signing_key_provider: mocked_create_signing_key_provider_valid
           ).call(
             authentication_parameters: authentication_parameters_with_valid_token
           )
@@ -409,9 +409,9 @@ def valid_decoded_token(claims)
       context "and succeed to fetch keys from provider" do
         subject do
           ::Authentication::AuthnJwt::ValidateAndDecode::ValidateAndDecodeToken.new(
-            fetch_signing_key_from_cache: mocked_fetch_signing_key_always_succeed,
+            fetch_signing_key: mocked_fetch_signing_key_always_succeed,
             verify_and_decode_token: mocked_verify_and_decode_token_invalid,
-            signing_key_interface_factory: mocked_signing_key_interface_factory_valid
+            create_signing_key_provider: mocked_create_signing_key_provider_valid
           ).call(
             authentication_parameters: authentication_parameters_with_valid_token
           )
@@ -427,11 +427,11 @@ def valid_decoded_token(claims)
       context "and keys are not updated" do
         subject do
           ::Authentication::AuthnJwt::ValidateAndDecode::ValidateAndDecodeToken.new(
-            fetch_signing_key_from_cache: mocked_fetch_signing_key_always_succeed,
+            fetch_signing_key: mocked_fetch_signing_key_always_succeed,
             verify_and_decode_token: mocked_verify_and_decode_token_succeed_on_2nd_time,
             fetch_jwt_claims_to_validate: mocked_fetch_jwt_claims_to_validate_valid,
             get_verification_option_by_jwt_claim: mocked_get_verification_option_by_jwt_claim_valid,
-            signing_key_interface_factory: mocked_signing_key_interface_factory_valid
+            create_signing_key_provider: mocked_create_signing_key_provider_valid
           ).call(
             authentication_parameters: authentication_parameters_with_valid_token
           )
@@ -445,11 +445,11 @@ def valid_decoded_token(claims)
       context "and keys are updated" do
         subject do
           ::Authentication::AuthnJwt::ValidateAndDecode::ValidateAndDecodeToken.new(
-            fetch_signing_key_from_cache: mocked_fetch_signing_key_always_succeed,
+            fetch_signing_key: mocked_fetch_signing_key_always_succeed,
             verify_and_decode_token: mocked_verify_and_decode_token_succeed_on_1st_time,
             fetch_jwt_claims_to_validate: mocked_fetch_jwt_claims_to_validate_valid,
             get_verification_option_by_jwt_claim: mocked_get_verification_option_by_jwt_claim_valid,
-            signing_key_interface_factory: mocked_signing_key_interface_factory_valid
+            create_signing_key_provider: mocked_create_signing_key_provider_valid
           ).call(
             authentication_parameters: authentication_parameters_with_valid_token
           )
@@ -467,10 +467,10 @@ def valid_decoded_token(claims)
       context "and failed to fetch enforced claims" do
         subject do
           ::Authentication::AuthnJwt::ValidateAndDecode::ValidateAndDecodeToken.new(
-            fetch_signing_key_from_cache: mocked_fetch_signing_key_always_succeed,
+            fetch_signing_key: mocked_fetch_signing_key_always_succeed,
             verify_and_decode_token: mocked_verify_and_decode_token_succeed_on_1st_time,
             fetch_jwt_claims_to_validate: mocked_fetch_jwt_claims_to_validate_invalid,
-            signing_key_interface_factory: mocked_signing_key_interface_factory_valid
+            create_signing_key_provider: mocked_create_signing_key_provider_valid
           ).call(
             authentication_parameters: authentication_parameters_with_valid_token
           )
@@ -485,10 +485,10 @@ def valid_decoded_token(claims)
         context "with empty claims list to validate" do
           subject do
             ::Authentication::AuthnJwt::ValidateAndDecode::ValidateAndDecodeToken.new(
-              fetch_signing_key_from_cache: mocked_fetch_signing_key_always_succeed,
+              fetch_signing_key: mocked_fetch_signing_key_always_succeed,
               verify_and_decode_token: mocked_verify_and_decode_token_succeed_on_1st_time,
               fetch_jwt_claims_to_validate: mocked_fetch_jwt_claims_to_validate_with_empty_claims,
-              signing_key_interface_factory: mocked_signing_key_interface_factory_valid
+              create_signing_key_provider: mocked_create_signing_key_provider_valid
             ).call(
               authentication_parameters: authentication_parameters_with_valid_token
             )
@@ -502,10 +502,10 @@ def valid_decoded_token(claims)
         context "with mandatory claims which do not exist in token" do
           subject do
             ::Authentication::AuthnJwt::ValidateAndDecode::ValidateAndDecodeToken.new(
-              fetch_signing_key_from_cache: mocked_fetch_signing_key_always_succeed,
+              fetch_signing_key: mocked_fetch_signing_key_always_succeed,
               verify_and_decode_token: mocked_verify_and_decode_token_succeed_on_1st_time,
               fetch_jwt_claims_to_validate: mocked_fetch_jwt_claims_to_validate_with_not_exist_claims_in_token,
-              signing_key_interface_factory: mocked_signing_key_interface_factory_valid
+              create_signing_key_provider: mocked_create_signing_key_provider_valid
             ).call(
               authentication_parameters: authentication_parameters_with_valid_token
             )
@@ -519,11 +519,11 @@ def valid_decoded_token(claims)
         context "and failed to get verification options" do
           subject do
             ::Authentication::AuthnJwt::ValidateAndDecode::ValidateAndDecodeToken.new(
-              fetch_signing_key_from_cache: mocked_fetch_signing_key_always_succeed,
+              fetch_signing_key: mocked_fetch_signing_key_always_succeed,
               verify_and_decode_token: mocked_verify_and_decode_token_succeed_on_1st_time,
               fetch_jwt_claims_to_validate: mocked_fetch_jwt_claims_to_validate_valid,
               get_verification_option_by_jwt_claim: mocked_get_verification_option_by_jwt_claim_invalid,
-              signing_key_interface_factory: mocked_signing_key_interface_factory_valid
+              create_signing_key_provider: mocked_create_signing_key_provider_valid
             ).call(
               authentication_parameters: authentication_parameters_with_valid_token
             )
@@ -544,11 +544,11 @@ def valid_decoded_token(claims)
           context "and failed to validate claims" do
             subject do
               ::Authentication::AuthnJwt::ValidateAndDecode::ValidateAndDecodeToken.new(
-                fetch_signing_key_from_cache: mocked_fetch_signing_key_always_succeed,
+                fetch_signing_key: mocked_fetch_signing_key_always_succeed,
                 verify_and_decode_token: mocked_verify_and_decode_token_failed_to_validate_claims,
                 fetch_jwt_claims_to_validate: mocked_fetch_jwt_claims_to_validate_valid,
                 get_verification_option_by_jwt_claim: mocked_get_verification_option_by_jwt_claim_valid,
-                signing_key_interface_factory: mocked_signing_key_interface_factory_valid
+                create_signing_key_provider: mocked_create_signing_key_provider_valid
               ).call(
                 authentication_parameters: authentication_parameters_with_valid_token
               )
@@ -563,11 +563,11 @@ def valid_decoded_token(claims)
             context "and keys are not updated" do
               subject do
                 ::Authentication::AuthnJwt::ValidateAndDecode::ValidateAndDecodeToken.new(
-                  fetch_signing_key_from_cache: mocked_fetch_signing_key_always_succeed,
+                  fetch_signing_key: mocked_fetch_signing_key_always_succeed,
                   verify_and_decode_token: mocked_verify_and_decode_token_succeed_to_validate_claims_when_keys_not_updated,
                   fetch_jwt_claims_to_validate: mocked_fetch_jwt_claims_to_validate_valid,
                   get_verification_option_by_jwt_claim: mocked_get_verification_option_by_jwt_claim_valid,
-                  signing_key_interface_factory: mocked_signing_key_interface_factory_valid
+                  create_signing_key_provider: mocked_create_signing_key_provider_valid
                 ).call(
                   authentication_parameters: authentication_parameters_with_valid_token
                 )
@@ -581,11 +581,11 @@ def valid_decoded_token(claims)
             context "and keys are updated" do
               subject do
                 ::Authentication::AuthnJwt::ValidateAndDecode::ValidateAndDecodeToken.new(
-                  fetch_signing_key_from_cache: mocked_fetch_signing_key_always_succeed,
+                  fetch_signing_key: mocked_fetch_signing_key_always_succeed,
                   verify_and_decode_token: mocked_verify_and_decode_token_succeed_to_validate_claims_when_keys_updated,
                   fetch_jwt_claims_to_validate: mocked_fetch_jwt_claims_to_validate_valid,
                   get_verification_option_by_jwt_claim: mocked_get_verification_option_by_jwt_claim_valid,
-                  signing_key_interface_factory: mocked_signing_key_interface_factory_valid
+                  create_signing_key_provider: mocked_create_signing_key_provider_valid
                 ).call(
                   authentication_parameters: authentication_parameters_with_valid_token
                 )
diff --git a/spec/app/domain/authentication/authn-jwt/validate_status_spec.rb b/spec/app/domain/authentication/authn-jwt/validate_status_spec.rb
index 25e6fa434c..12f701855e 100644
--- a/spec/app/domain/authentication/authn-jwt/validate_status_spec.rb
+++ b/spec/app/domain/authentication/authn-jwt/validate_status_spec.rb
@@ -23,8 +23,8 @@
   }
 
   let(:mocked_logger) { double("Mocked logger")  }
-  let(:mocked_valid_create_signing_key_interface) { double("Mocked valid create signing key interface")  }
-  let(:mocked_invalid_create_signing_key_interface) { double("Mocked invalid create signing key interface")  }
+  let(:mocked_valid_create_signing_key_provider) { double("Mocked valid create signing key interface")  }
+  let(:mocked_invalid_create_signing_key_provider) { double("Mocked invalid create signing key interface")  }
   let(:mocked_valid_fetch_issuer_value) { double("Mocked valid fetch issuer value")  }
   let(:mocked_invalid_fetch_issuer_value) { double("Mocked invalid fetch issuer value")  }
   let(:mocked_invalid_fetch_audience_value) { double("Mocked invalid audience issuer value")  }
@@ -54,24 +54,24 @@
   let(:user_cant_access_webservice_error) { "User cant access webservice" }
   let(:webservice_does_not_exist_error) { "Webservice does not exist" }
   let(:account_does_not_exist_error) { "Account does not exist" }
-  let(:mocked_valid_signing_key_interface) { double("Mocked valid signing key interface")  }
-  let(:mocked_valid_fetch_signing_key_from_cache) { double("Mocked valid fetch signing key interface")  }
+  let(:mocked_valid_signing_key_provider) { double("Mocked valid signing key interface")  }
+  let(:mocked_valid_fetch_signing_key) { double("Mocked valid fetch signing key interface")  }
 
 
   before(:each) do
-    allow(mocked_valid_create_signing_key_interface).to(
-      receive(:call).and_return(mocked_valid_signing_key_interface)
+    allow(mocked_valid_create_signing_key_provider).to(
+      receive(:call).and_return(mocked_valid_signing_key_provider)
     )
 
-    allow(mocked_valid_signing_key_interface).to(
+    allow(mocked_valid_signing_key_provider).to(
       receive(:signing_key_uri).and_return(valid_signing_key_uri)
     )
 
-    allow(mocked_valid_fetch_signing_key_from_cache).to(
+    allow(mocked_valid_fetch_signing_key).to(
       receive(:call).and_return(valid_signing_key)
     )
     
-    allow(mocked_invalid_create_signing_key_interface).to(
+    allow(mocked_invalid_create_signing_key_provider).to(
       receive(:call).and_raise(create_signing_key_configuration_is_invalid_error)
     )
 
@@ -166,8 +166,8 @@
 
       subject do
         ::Authentication::AuthnJwt::ValidateStatus.new(
-          fetch_signing_key_from_cache: mocked_valid_fetch_signing_key_from_cache,
-          create_signing_key_interface: mocked_valid_create_signing_key_interface,
+          fetch_signing_key: mocked_valid_fetch_signing_key,
+          create_signing_key_provider: mocked_valid_create_signing_key_provider,
           fetch_issuer_value: mocked_valid_fetch_issuer_value,
           identity_from_decoded_token_provider_class: mocked_valid_identity_from_decoded_token_provider,
           validate_webservice_is_whitelisted: mocked_valid_validate_webservice_is_whitelisted,
@@ -191,8 +191,8 @@
 
         subject do
           ::Authentication::AuthnJwt::ValidateStatus.new(
-            fetch_signing_key_from_cache: mocked_valid_fetch_signing_key_from_cache,
-            create_signing_key_interface: mocked_valid_create_signing_key_interface,
+            fetch_signing_key: mocked_valid_fetch_signing_key,
+            create_signing_key_provider: mocked_valid_create_signing_key_provider,
             fetch_issuer_value: mocked_valid_fetch_issuer_value,
             identity_from_decoded_token_provider_class: mocked_valid_identity_from_decoded_token_provider,
             validate_webservice_is_whitelisted: mocked_valid_validate_webservice_is_whitelisted,
@@ -215,8 +215,8 @@
 
         subject do
           ::Authentication::AuthnJwt::ValidateStatus.new(
-            fetch_signing_key_from_cache: mocked_valid_fetch_signing_key_from_cache,
-            create_signing_key_interface: mocked_valid_create_signing_key_interface,
+            fetch_signing_key: mocked_valid_fetch_signing_key,
+            create_signing_key_provider: mocked_valid_create_signing_key_provider,
             fetch_issuer_value: mocked_valid_fetch_issuer_value,
             identity_from_decoded_token_provider_class: mocked_valid_identity_from_decoded_token_provider,
             validate_webservice_is_whitelisted: mocked_valid_validate_webservice_is_whitelisted,
@@ -239,8 +239,8 @@
 
         subject do
           ::Authentication::AuthnJwt::ValidateStatus.new(
-            fetch_signing_key_from_cache: mocked_valid_fetch_signing_key_from_cache,
-            create_signing_key_interface: mocked_valid_create_signing_key_interface,
+            fetch_signing_key: mocked_valid_fetch_signing_key,
+            create_signing_key_provider: mocked_valid_create_signing_key_provider,
             fetch_issuer_value: mocked_valid_fetch_issuer_value,
             identity_from_decoded_token_provider_class: mocked_valid_identity_from_decoded_token_provider,
             validate_webservice_is_whitelisted: mocked_valid_validate_webservice_is_whitelisted,
@@ -263,8 +263,8 @@
 
         subject do
           ::Authentication::AuthnJwt::ValidateStatus.new(
-            fetch_signing_key_from_cache: mocked_valid_fetch_signing_key_from_cache,
-            create_signing_key_interface: mocked_valid_create_signing_key_interface,
+            fetch_signing_key: mocked_valid_fetch_signing_key,
+            create_signing_key_provider: mocked_valid_create_signing_key_provider,
             fetch_issuer_value: mocked_valid_fetch_issuer_value,
             identity_from_decoded_token_provider_class: mocked_valid_identity_from_decoded_token_provider,
             validate_webservice_is_whitelisted: mocked_invalid_validate_webservice_is_whitelisted,
@@ -299,8 +299,8 @@
 
         subject do
           ::Authentication::AuthnJwt::ValidateStatus.new(
-            fetch_signing_key_from_cache: mocked_valid_fetch_signing_key_from_cache,
-            create_signing_key_interface: mocked_valid_create_signing_key_interface,
+            fetch_signing_key: mocked_valid_fetch_signing_key,
+            create_signing_key_provider: mocked_valid_create_signing_key_provider,
             fetch_issuer_value: mocked_valid_fetch_issuer_value,
             identity_from_decoded_token_provider_class: mocked_valid_identity_from_decoded_token_provider,
             validate_webservice_is_whitelisted: mocked_valid_validate_webservice_is_whitelisted,
@@ -324,8 +324,8 @@
       context "signing key secrets are not configured properly" do
         subject do
           ::Authentication::AuthnJwt::ValidateStatus.new(
-            fetch_signing_key_from_cache: mocked_valid_fetch_signing_key_from_cache,
-            create_signing_key_interface: mocked_invalid_create_signing_key_interface,
+            fetch_signing_key: mocked_valid_fetch_signing_key,
+            create_signing_key_provider: mocked_invalid_create_signing_key_provider,
             fetch_issuer_value: mocked_valid_fetch_issuer_value,
             identity_from_decoded_token_provider_class: mocked_valid_identity_from_decoded_token_provider,
             validate_webservice_is_whitelisted: mocked_valid_validate_webservice_is_whitelisted,
@@ -347,8 +347,8 @@
       context "issuer secrets are not configured properly" do
         subject do
           ::Authentication::AuthnJwt::ValidateStatus.new(
-            fetch_signing_key_from_cache: mocked_valid_fetch_signing_key_from_cache,
-            create_signing_key_interface: mocked_valid_create_signing_key_interface,
+            fetch_signing_key: mocked_valid_fetch_signing_key,
+            create_signing_key_provider: mocked_valid_create_signing_key_provider,
             fetch_issuer_value: mocked_invalid_fetch_issuer_value,
             identity_from_decoded_token_provider_class: mocked_valid_identity_from_decoded_token_provider,
             validate_webservice_is_whitelisted: mocked_valid_validate_webservice_is_whitelisted,
@@ -370,8 +370,8 @@
       context "audience secret is not configured properly" do
         subject do
           ::Authentication::AuthnJwt::ValidateStatus.new(
-            fetch_signing_key_from_cache: mocked_valid_fetch_signing_key_from_cache,
-            create_signing_key_interface: mocked_valid_create_signing_key_interface,
+            fetch_signing_key: mocked_valid_fetch_signing_key,
+            create_signing_key_provider: mocked_valid_create_signing_key_provider,
             fetch_issuer_value: mocked_valid_fetch_issuer_value,
             fetch_audience_value: mocked_invalid_fetch_audience_value,
             identity_from_decoded_token_provider_class: mocked_valid_identity_from_decoded_token_provider,
@@ -394,8 +394,8 @@
       context "enforced claims is not configured properly" do
         subject do
           ::Authentication::AuthnJwt::ValidateStatus.new(
-            fetch_signing_key_from_cache: mocked_valid_fetch_signing_key_from_cache,
-            create_signing_key_interface: mocked_valid_create_signing_key_interface,
+            fetch_signing_key: mocked_valid_fetch_signing_key,
+            create_signing_key_provider: mocked_valid_create_signing_key_provider,
             fetch_issuer_value: mocked_valid_fetch_issuer_value,
             fetch_enforced_claims: mocked_invalid_fetch_enforced_claims,
             identity_from_decoded_token_provider_class: mocked_valid_identity_from_decoded_token_provider,
@@ -418,8 +418,8 @@
       context "mapping claims is not configured properly" do
         subject do
           ::Authentication::AuthnJwt::ValidateStatus.new(
-            fetch_signing_key_from_cache: mocked_valid_fetch_signing_key_from_cache,
-            create_signing_key_interface: mocked_valid_create_signing_key_interface,
+            fetch_signing_key: mocked_valid_fetch_signing_key,
+            create_signing_key_provider: mocked_valid_create_signing_key_provider,
             fetch_issuer_value: mocked_valid_fetch_issuer_value,
             fetch_mapping_claims: mocked_invalid_fetch_mapping_claims,
             identity_from_decoded_token_provider_class: mocked_valid_identity_from_decoded_token_provider,
@@ -442,8 +442,8 @@
       context "identity secrets are not configured properly" do
         subject do
           ::Authentication::AuthnJwt::ValidateStatus.new(
-            fetch_signing_key_from_cache: mocked_valid_fetch_signing_key_from_cache,
-            create_signing_key_interface: mocked_valid_create_signing_key_interface,
+            fetch_signing_key: mocked_valid_fetch_signing_key,
+            create_signing_key_provider: mocked_valid_create_signing_key_provider,
             fetch_issuer_value: mocked_valid_fetch_issuer_value,
             identity_from_decoded_token_provider_class: mocked_invalid_identity_from_decoded_token_provider,
             validate_webservice_is_whitelisted: mocked_valid_validate_webservice_is_whitelisted,