Package io.jans.fido2.service.persist
Class AuthenticationPersistenceService
java.lang.Object
io.jans.fido2.service.persist.AuthenticationPersistenceService
Every authentication is persisted under Person Entry
- Version:
- May 08, 2020
- Author:
- Yuriy Movchan
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidio.jans.orm.model.fido2.Fido2AuthenticationEntrybuildFido2AuthenticationEntry(io.jans.orm.model.fido2.Fido2AuthenticationData authenticationData) booleancontainsBranch(String baseDn) List<io.jans.orm.model.fido2.Fido2AuthenticationEntry>findByChallenge(String challenge) List<io.jans.orm.model.fido2.Fido2AuthenticationEntry>findLapsedPendingCeremonies(String baseDn, Date lapsedBefore, int batchSize) Finds ceremonies still marked pending whose window has already elapsed.getBaseDnForFido2AuthenticationEntries(String userInum) The base DNs assertion ceremonies are stored under.getDnForAuthenticationEntry(String userInum, String jsId) getDnForUser(String userInum) voidprepareBranch(String userInum) voidsave(io.jans.orm.model.fido2.Fido2AuthenticationData authenticationData) voidsave(io.jans.orm.model.fido2.Fido2AuthenticationEntry authenticationEntity) voidupdate(io.jans.orm.model.fido2.Fido2AuthenticationEntry authenticationEntity)
-
Constructor Details
-
AuthenticationPersistenceService
public AuthenticationPersistenceService()
-
-
Method Details
-
save
public void save(io.jans.orm.model.fido2.Fido2AuthenticationData authenticationData) -
save
public void save(io.jans.orm.model.fido2.Fido2AuthenticationEntry authenticationEntity) -
buildFido2AuthenticationEntry
public io.jans.orm.model.fido2.Fido2AuthenticationEntry buildFido2AuthenticationEntry(io.jans.orm.model.fido2.Fido2AuthenticationData authenticationData) -
update
public void update(io.jans.orm.model.fido2.Fido2AuthenticationEntry authenticationEntity) -
addBranch
-
containsBranch
-
prepareBranch
-
findByChallenge
-
getCeremonyBaseDns
The base DNs assertion ceremonies are stored under.Identified ceremonies live beneath the owning person entry, while conditional-UI ceremonies have no user to hang off and live under the assertion base DN instead. A sweep that visited only the first would miss precisely the ceremonies most likely to be abandoned.
-
findLapsedPendingCeremonies
public List<io.jans.orm.model.fido2.Fido2AuthenticationEntry> findLapsedPendingCeremonies(String baseDn, Date lapsedBefore, int batchSize) Finds ceremonies still marked pending whose window has already elapsed.Filtering on status rather than on the expiry column is what makes the sweep idempotent: the transition only fires from
pending, so a row already relabelled — by an earlier sweep, or by another node, or by a second pass over a base DN that resolves to the same table — is simply not matched again.- Parameters:
baseDn- the subtree to searchlapsedBefore- ceremonies created at or before this instant have outlived their windowbatchSize- maximum number of entries to return
-
getDnForAuthenticationEntry
-
getBaseDnForFido2AuthenticationEntries
-
getDnForUser
-