Class KeycloakAuthenticationEntryPoint

  • All Implemented Interfaces:
    org.springframework.security.web.AuthenticationEntryPoint

    public class KeycloakAuthenticationEntryPoint
    extends Object
    implements org.springframework.security.web.AuthenticationEntryPoint
    Provides a Keycloak authentication entry point. Uses a RequestMatcher to determine if the request is an interactive login request or a API request, which should not be redirected to an interactive login page. By default, this entry point uses a HttpHeaderInspectingApiRequestMatcher but can be overridden using in the constructor.
    Author:
    Scott Rossillo
    See Also:
    HttpHeaderInspectingApiRequestMatcher
    • Field Detail

      • DEFAULT_LOGIN_URI

        public static final String DEFAULT_LOGIN_URI
        Default Keycloak authentication login URI
        See Also:
        Constant Field Values
    • Constructor Detail

      • KeycloakAuthenticationEntryPoint

        public KeycloakAuthenticationEntryPoint​(AdapterDeploymentContext adapterDeploymentContext)
        Creates a new Keycloak authentication entry point.
      • KeycloakAuthenticationEntryPoint

        public KeycloakAuthenticationEntryPoint​(AdapterDeploymentContext adapterDeploymentContext,
                                                org.springframework.security.web.util.matcher.RequestMatcher apiRequestMatcher)
        Creates a new Keycloak authentication entry point using the given request matcher to determine if the current request is an API request or a browser request.
        Parameters:
        apiRequestMatcher - the RequestMatcher to use to determine if the current request is an API request or a browser request (required)
    • Method Detail

      • commence

        public void commence​(javax.servlet.http.HttpServletRequest request,
                             javax.servlet.http.HttpServletResponse response,
                             org.springframework.security.core.AuthenticationException authException)
                      throws IOException,
                             javax.servlet.ServletException
        Specified by:
        commence in interface org.springframework.security.web.AuthenticationEntryPoint
        Throws:
        IOException
        javax.servlet.ServletException
      • commenceUnauthorizedResponse

        protected void commenceUnauthorizedResponse​(javax.servlet.http.HttpServletRequest request,
                                                    javax.servlet.http.HttpServletResponse response)
                                             throws IOException
        Throws:
        IOException
      • setLoginUri

        public void setLoginUri​(String loginUri)
      • setRealm

        public void setRealm​(String realm)