Package org.keycloak.adapters.undertow
Class AbstractUndertowKeycloakAuthMech
- java.lang.Object
-
- org.keycloak.adapters.undertow.AbstractUndertowKeycloakAuthMech
-
- All Implemented Interfaces:
io.undertow.security.api.AuthenticationMechanism
- Direct Known Subclasses:
ServletKeycloakAuthMech,UndertowAuthenticationMechanism
public abstract class AbstractUndertowKeycloakAuthMech extends Object implements io.undertow.security.api.AuthenticationMechanism
Abstract base class for a Keycloak-enabled Undertow AuthenticationMechanism.- Author:
- Stan Silvert ssilvert@redhat.com (C) 2014 Red Hat Inc.
-
-
Field Summary
Fields Modifier and Type Field Description protected AdapterDeploymentContextdeploymentContextprotected StringerrorPagestatic io.undertow.util.AttachmentKey<AuthChallenge>KEYCLOAK_CHALLENGE_ATTACHMENT_KEYprotected UndertowUserSessionManagementsessionManagement
-
Constructor Summary
Constructors Constructor Description AbstractUndertowKeycloakAuthMech(AdapterDeploymentContext deploymentContext, UndertowUserSessionManagement sessionManagement, String errorPage)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description UndertowHttpFacadecreateFacade(io.undertow.server.HttpServerExchange exchange)protected AdapterTokenStoregetTokenStore(io.undertow.server.HttpServerExchange exchange, HttpFacade facade, KeycloakDeployment deployment, io.undertow.security.api.SecurityContext securityContext)protected io.undertow.security.api.AuthenticationMechanism.AuthenticationMechanismOutcomekeycloakAuthenticate(io.undertow.server.HttpServerExchange exchange, io.undertow.security.api.SecurityContext securityContext, RequestAuthenticator authenticator)Call this inside your authenticate method.protected voidregisterNotifications(io.undertow.security.api.SecurityContext securityContext)io.undertow.security.api.AuthenticationMechanism.ChallengeResultsendChallenge(io.undertow.server.HttpServerExchange exchange, io.undertow.security.api.SecurityContext securityContext)protected IntegerservePage(io.undertow.server.HttpServerExchange exchange, String location)
-
-
-
Field Detail
-
KEYCLOAK_CHALLENGE_ATTACHMENT_KEY
public static final io.undertow.util.AttachmentKey<AuthChallenge> KEYCLOAK_CHALLENGE_ATTACHMENT_KEY
-
deploymentContext
protected AdapterDeploymentContext deploymentContext
-
sessionManagement
protected UndertowUserSessionManagement sessionManagement
-
errorPage
protected String errorPage
-
-
Constructor Detail
-
AbstractUndertowKeycloakAuthMech
public AbstractUndertowKeycloakAuthMech(AdapterDeploymentContext deploymentContext, UndertowUserSessionManagement sessionManagement, String errorPage)
-
-
Method Detail
-
sendChallenge
public io.undertow.security.api.AuthenticationMechanism.ChallengeResult sendChallenge(io.undertow.server.HttpServerExchange exchange, io.undertow.security.api.SecurityContext securityContext)- Specified by:
sendChallengein interfaceio.undertow.security.api.AuthenticationMechanism
-
createFacade
public UndertowHttpFacade createFacade(io.undertow.server.HttpServerExchange exchange)
-
servePage
protected Integer servePage(io.undertow.server.HttpServerExchange exchange, String location)
-
registerNotifications
protected void registerNotifications(io.undertow.security.api.SecurityContext securityContext)
-
keycloakAuthenticate
protected io.undertow.security.api.AuthenticationMechanism.AuthenticationMechanismOutcome keycloakAuthenticate(io.undertow.server.HttpServerExchange exchange, io.undertow.security.api.SecurityContext securityContext, RequestAuthenticator authenticator)Call this inside your authenticate method.
-
getTokenStore
protected AdapterTokenStore getTokenStore(io.undertow.server.HttpServerExchange exchange, HttpFacade facade, KeycloakDeployment deployment, io.undertow.security.api.SecurityContext securityContext)
-
-