Class InMemoryRememberMeTokenStore
java.lang.Object
com.svenruppert.jsentinel.authentication.InMemoryRememberMeTokenStore
- All Implemented Interfaces:
RememberMeTokenStore
@ExperimentalJSentinelApi
public final class InMemoryRememberMeTokenStore
extends Object
implements RememberMeTokenStore
In-memory
RememberMeTokenStore backed by a
ConcurrentHashMap keyed on the token hash.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleandeleteByHash(String tokenHash) Removes the record for the given hash.intdeleteBySubject(TenantId tenant, SubjectId subjectId) Drops every token issued tosubjectIdwithintenant.findByHash(String tokenHash) Looks up a token record by its hash.intpurgeExpired(Instant now) Drops every token whoseexpiresAtis at or beforenow.voidsave(RememberMeTokenRecord record) Persists or replaces the supplied token record (keyed onRememberMeTokenRecord.tokenHash()).
-
Constructor Details
-
InMemoryRememberMeTokenStore
public InMemoryRememberMeTokenStore()Creates an empty store.
-
-
Method Details
-
findByHash
Description copied from interface:RememberMeTokenStoreLooks up a token record by its hash.- Specified by:
findByHashin interfaceRememberMeTokenStore- Parameters:
tokenHash- token hash; must not benullor blank- Returns:
- the record, if present
-
save
Description copied from interface:RememberMeTokenStorePersists or replaces the supplied token record (keyed onRememberMeTokenRecord.tokenHash()).- Specified by:
savein interfaceRememberMeTokenStore- Parameters:
record- record to persist; must not benull
-
deleteByHash
Description copied from interface:RememberMeTokenStoreRemoves the record for the given hash.- Specified by:
deleteByHashin interfaceRememberMeTokenStore- Parameters:
tokenHash- token hash; must not benullor blank- Returns:
trueif a record was removed,falsewhen no such token existed
-
deleteBySubject
Description copied from interface:RememberMeTokenStoreDrops every token issued tosubjectIdwithintenant. Used by "log out everywhere" flows.- Specified by:
deleteBySubjectin interfaceRememberMeTokenStore- Parameters:
tenant- tenant scope; must not benullsubjectId- subject; must not benull- Returns:
- number of records removed
-
purgeExpired
Description copied from interface:RememberMeTokenStoreDrops every token whoseexpiresAtis at or beforenow. Idempotent.- Specified by:
purgeExpiredin interfaceRememberMeTokenStore- Parameters:
now- retention boundary; must not benull- Returns:
- number of records purged
-