Class QuarkusSecurityContextHandler
- All Implemented Interfaces:
SecurityContextHandler<io.quarkus.security.identity.SecurityIdentity>
SecurityContextHandler.
Manages the SecurityIdentity via CurrentIdentityAssociation
for multi-user test isolation.
The setupAuthentication(SecurityIdentity) method expects a
SecurityIdentity instance as the credentials parameter.
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidClears the security context from the current thread.io.quarkus.security.identity.SecurityIdentitycreateCredentials(String username, String... roles) Builds a non-anonymousSecurityIdentityfor the given username and roles.voidrestoreContext(Object snapshot) Restores a previously saved security context snapshot onto the current thread.io.quarkus.security.identity.SecurityIdentityCaptures the current thread's security context as an opaque snapshot.voidsetupAuthentication(io.quarkus.security.identity.SecurityIdentity credentials) Sets up authentication for a new user from the given credentials.
-
Constructor Details
-
QuarkusSecurityContextHandler
public QuarkusSecurityContextHandler()
-
-
Method Details
-
setupAuthentication
public void setupAuthentication(io.quarkus.security.identity.SecurityIdentity credentials) Description copied from interface:SecurityContextHandlerSets up authentication for a new user from the given credentials.The type parameter
Cis determined by the framework implementation. For example, Spring usesorg.springframework.security.core.Authenticationand Quarkus usesio.quarkus.security.identity.SecurityIdentity.Implementations must accept
nullcredentials and produce an anonymous-equivalent state — e.g. Spring sets anAnonymousAuthenticationToken, mirroring@WithAnonymousUser.SecurityContextHandler.clearContext()is invoked immediately before this method so that earlier state cannot leak through.- Specified by:
setupAuthenticationin interfaceSecurityContextHandler<io.quarkus.security.identity.SecurityIdentity>- Parameters:
credentials- framework-specific credentials object, ornullfor an anonymous user
-
saveContext
public io.quarkus.security.identity.SecurityIdentity saveContext()Description copied from interface:SecurityContextHandlerCaptures the current thread's security context as an opaque snapshot.Called automatically when switching away from a user context to preserve its security state.
- Specified by:
saveContextin interfaceSecurityContextHandler<io.quarkus.security.identity.SecurityIdentity>- Returns:
- an opaque snapshot of the current security context, or
nullif no security context is active
-
restoreContext
Description copied from interface:SecurityContextHandlerRestores a previously saved security context snapshot onto the current thread.- Specified by:
restoreContextin interfaceSecurityContextHandler<io.quarkus.security.identity.SecurityIdentity>- Parameters:
snapshot- a snapshot previously returned bySecurityContextHandler.saveContext(), ornullto clear the context
-
clearContext
public void clearContext()Description copied from interface:SecurityContextHandlerClears the security context from the current thread.- Specified by:
clearContextin interfaceSecurityContextHandler<io.quarkus.security.identity.SecurityIdentity>
-
createCredentials
public io.quarkus.security.identity.SecurityIdentity createCredentials(String username, String... roles) Builds a non-anonymousSecurityIdentityfor the given username and roles.- Specified by:
createCredentialsin interfaceSecurityContextHandler<io.quarkus.security.identity.SecurityIdentity>- Parameters:
username- the usernameroles- the roles for the user; nevernull, may be empty- Returns:
- the credentials, never
null
-