Class ModelBffSessionStore
java.lang.Object
io.fluxzero.idp.bff.session.ModelBffSessionStore
Reusable application-session lifecycle, independent of IDP management, tenants and user mapping.
Use only inside an approved protected/in-process HTTP boundary. Model values are encrypted by default;
plaintext requires explicit opt-in.
In either mode, explicit commit completion precedes releasing a one-time login or refresh capability.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordstatic final recordstatic final record -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbeginLogin(SecretValue state, Duration lifetime) claimRefresh(BrowserHandle cookie, long expectedVersion, Duration timeout) No lease takeover: after an uncertain token rotation, reauthenticate instead of replaying the old token.booleancompleteRefresh(ModelBffSessionStore.RefreshClaim claim, SecretValue value) consumeLogin(BrowserHandle cookie, BrowserHandle callbackState) openSession(String issuer, String client, String sid, SecretValue value, Duration lifetime) issuer/client/sid must come from already verified protocol evidence, never browser selectors.voidrevokeRelyingPartySession(String issuer, String client, String sid) Only call after validating signature, issuer, audience, iat, jti and logout events.voidrevokeSession(BrowserHandle cookie) session(BrowserHandle cookie) static ModelBffSessionStoreunencrypted(String application) Deliberate opt-out from encryption at rest.
-
Constructor Details
-
ModelBffSessionStore
-
-
Method Details
-
unencrypted
Deliberate opt-out from encryption at rest. All replicas must use the same mode. -
beginLogin
-
consumeLogin
-
openSession
public BrowserHandle openSession(String issuer, String client, String sid, SecretValue value, Duration lifetime) issuer/client/sid must come from already verified protocol evidence, never browser selectors. -
session
-
claimRefresh
public Optional<ModelBffSessionStore.RefreshClaim> claimRefresh(BrowserHandle cookie, long expectedVersion, Duration timeout) No lease takeover: after an uncertain token rotation, reauthenticate instead of replaying the old token. -
completeRefresh
-
revokeSession
-
revokeRelyingPartySession
-