Class SamlService.BindingProtocol

    • Field Detail

      • redirectToAuthentication

        protected boolean redirectToAuthentication
    • Constructor Detail

      • BindingProtocol

        public BindingProtocol()
    • Method Detail

      • basicChecks

        protected javax.ws.rs.core.Response basicChecks​(String samlRequest,
                                                        String samlResponse,
                                                        String artifact)
      • isDestinationRequired

        protected boolean isDestinationRequired()
      • handleSamlResponse

        protected javax.ws.rs.core.Response handleSamlResponse​(String samlResponse,
                                                               String relayState)
      • handleSamlRequest

        protected javax.ws.rs.core.Response handleSamlRequest​(String samlRequest,
                                                              String relayState)
      • handleArtifact

        protected void handleArtifact​(javax.ws.rs.container.AsyncResponse asyncResponse,
                                      String artifact,
                                      String relayState)
        Handle a received artifact message. This means finding the client based on the content of the artifact, sending an ArtifactResolve, receiving an ArtifactResponse, and handling its content based on the "standard" workflows.
        Parameters:
        artifact - the received artifact
        relayState - the current relay state
      • encodeSamlDocument

        protected abstract String encodeSamlDocument​(Document samlDocument)
                                              throws org.keycloak.saml.common.exceptions.ProcessingException
        Throws:
        org.keycloak.saml.common.exceptions.ProcessingException
      • verifySignature

        protected abstract void verifySignature​(org.keycloak.saml.processing.core.saml.v2.common.SAMLDocumentHolder documentHolder,
                                                org.keycloak.models.ClientModel client)
                                         throws org.keycloak.common.VerificationException
        Throws:
        org.keycloak.common.VerificationException
      • containsUnencryptedSignature

        protected abstract boolean containsUnencryptedSignature​(org.keycloak.saml.processing.core.saml.v2.common.SAMLDocumentHolder documentHolder)
      • extractRequestDocument

        protected abstract org.keycloak.saml.processing.core.saml.v2.common.SAMLDocumentHolder extractRequestDocument​(String samlRequest)
      • extractResponseDocument

        protected abstract org.keycloak.saml.processing.core.saml.v2.common.SAMLDocumentHolder extractResponseDocument​(String response)
      • loginRequest

        protected javax.ws.rs.core.Response loginRequest​(String relayState,
                                                         org.keycloak.dom.saml.v2.protocol.AuthnRequestType requestAbstractType,
                                                         org.keycloak.models.ClientModel client)
      • getBindingType

        protected String getBindingType​(org.keycloak.dom.saml.v2.protocol.AuthnRequestType requestAbstractType)
      • getBindingType

        protected abstract String getBindingType()
      • logoutRequest

        protected javax.ws.rs.core.Response logoutRequest​(org.keycloak.dom.saml.v2.protocol.LogoutRequestType logoutRequest,
                                                          org.keycloak.models.ClientModel client,
                                                          String relayState)
      • execute

        public javax.ws.rs.core.Response execute​(String samlRequest,
                                                 String samlResponse,
                                                 String relayState,
                                                 String artifact)
      • execute

        public void execute​(javax.ws.rs.container.AsyncResponse asyncReponse,
                            String samlRequest,
                            String samlResponse,
                            String relayState,
                            String artifact)
      • getExpectedDestinationUri

        protected URI getExpectedDestinationUri​(org.keycloak.models.KeycloakSession session)
        KEYCLOAK-12616, KEYCLOAK-12944: construct the expected destination URI using the configured base URI.
        Parameters:
        session - a reference to the KeycloakSession.
        Returns:
        the constructed URI.