Class InfinispanPushedAuthzRequestStoreProvider
- java.lang.Object
-
- org.keycloak.models.sessions.infinispan.InfinispanPushedAuthzRequestStoreProvider
-
- All Implemented Interfaces:
PushedAuthzRequestStoreProvider
,Provider
public class InfinispanPushedAuthzRequestStoreProvider extends Object implements PushedAuthzRequestStoreProvider
-
-
Field Summary
Fields Modifier and Type Field Description static org.jboss.logging.Logger
logger
-
Constructor Summary
Constructors Constructor Description InfinispanPushedAuthzRequestStoreProvider(KeycloakSession session, Supplier<org.infinispan.commons.api.BasicCache<UUID,ActionTokenValueEntity>> actionKeyCache)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
void
put(UUID key, int lifespanSeconds, Map<String,String> codeData)
Stores the given data and guarantees that data should be available in the store for at least the time specified by {@param lifespanSeconds} parameter.Map<String,String>
remove(UUID key)
This method returns data just if removal was successful.
-
-
-
Constructor Detail
-
InfinispanPushedAuthzRequestStoreProvider
public InfinispanPushedAuthzRequestStoreProvider(KeycloakSession session, Supplier<org.infinispan.commons.api.BasicCache<UUID,ActionTokenValueEntity>> actionKeyCache)
-
-
Method Detail
-
put
public void put(UUID key, int lifespanSeconds, Map<String,String> codeData)
Description copied from interface:PushedAuthzRequestStoreProvider
Stores the given data and guarantees that data should be available in the store for at least the time specified by {@param lifespanSeconds} parameter.- Specified by:
put
in interfacePushedAuthzRequestStoreProvider
- Parameters:
key
- unique identifierlifespanSeconds
- time to livecodeData
- the data to store
-
remove
public Map<String,String> remove(UUID key)
Description copied from interface:PushedAuthzRequestStoreProvider
This method returns data just if removal was successful. Implementation should guarantee that "remove" is single-use. So if 2 threads (even on different cluster nodes or on different cross-dc nodes) calls "remove(123)" concurrently, then just one of them is allowed to succeed and return data back. It can't happen that both will succeed.- Specified by:
remove
in interfacePushedAuthzRequestStoreProvider
- Parameters:
key
- unique identifier- Returns:
- context data related Pushed Authorization Request. It returns null if there is no context data available.
-
-