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.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface io.undertow.security.api.AuthenticationMechanism

      `io.undertow.security.api.AuthenticationMechanism.AuthenticationMechanismOutcome, io.undertow.security.api.AuthenticationMechanism.ChallengeResult`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected AdapterDeploymentContext` | `deploymentContext`
    `protected String` | `errorPage`
    `static io.undertow.util.AttachmentKey<AuthChallenge>` | `KEYCLOAK_CHALLENGE_ATTACHMENT_KEY`
    `protected UndertowUserSessionManagement` | `sessionManagement`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractUndertowKeycloakAuthMech(AdapterDeploymentContext deploymentContext, UndertowUserSessionManagement sessionManagement, String errorPage)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected AdapterTokenStore` | `getTokenStore(io.undertow.server.HttpServerExchange exchange, HttpFacade facade, KeycloakDeployment deployment, io.undertow.security.api.SecurityContext securityContext)`
    `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.
    `protected void` | `registerNotifications(io.undertow.security.api.SecurityContext securityContext)`
    `io.undertow.security.api.AuthenticationMechanism.ChallengeResult` | `sendChallenge(io.undertow.server.HttpServerExchange exchange, io.undertow.security.api.SecurityContext securityContext)`
    `protected Integer` | `servePage(io.undertow.server.HttpServerExchange exchange, String location)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface io.undertow.security.api.AuthenticationMechanism

      `authenticate`

- - ### 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:
        `sendChallenge` in interface `io.undertow.security.api.AuthenticationMechanism`

    - #### 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)

Copyright © 2015. All Rights Reserved.