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. All Model writes contain sealed
values; 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)
-
Constructor Details
-
ModelBffSessionStore
-
-
Method Details
-
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
-