Package org.keycloak.rotation
Class CompositeKeyLocator
java.lang.Object
org.keycloak.rotation.CompositeKeyLocator
- All Implemented Interfaces:
Iterable<Key>,KeyLocator
KeyLocator that represents a list of multiple KeyLocators. Key is searched
from the first to the last KeyLocator in the order given by the list. If there are
multiple KeyLocators providing key with the same key ID, the first matching key is
returned.- Author:
- hmlnarik
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.keycloak.rotation.KeyLocator
KeyLocator.KeyHash -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(KeyLocator keyLocator) Registers a givenKeyLocatoras the lastKeyLocator.voidaddFirst(KeyLocator keyLocator) Registers a givenKeyLocatoras the firstKeyLocator.voidclear()Clears the list of registeredKeyLocatorsReturns a key with a particular ID.Method that checks if the key passed is inside the locator.iterator()voidIf this key locator caches keys in any way, forces this cache cleanup and refreshing the keys.toString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface org.keycloak.rotation.KeyLocator
getKey
-
Constructor Details
-
CompositeKeyLocator
public CompositeKeyLocator()
-
-
Method Details
-
getKey
Description copied from interface:KeyLocatorReturns a key with a particular ID.- Specified by:
getKeyin interfaceKeyLocator- Parameters:
kid- Key ID- Returns:
- key, which should be used for verify signature on given "input"
- Throws:
KeyManagementException
-
getKey
Description copied from interface:KeyLocatorMethod that checks if the key passed is inside the locator.- Specified by:
getKeyin interfaceKeyLocator- Parameters:
key- The key to search- Returns:
- The same key or null if it's not in the locator
- Throws:
KeyManagementException
-
refreshKeyCache
public void refreshKeyCache()Description copied from interface:KeyLocatorIf this key locator caches keys in any way, forces this cache cleanup and refreshing the keys.- Specified by:
refreshKeyCachein interfaceKeyLocator
-
addFirst
Registers a givenKeyLocatoras the firstKeyLocator. -
add
Registers a givenKeyLocatoras the lastKeyLocator. -
clear
public void clear()Clears the list of registeredKeyLocators -
toString
-
iterator
-