Class RedirectBindingUtil

java.lang.Object
org.keycloak.saml.processing.web.util.RedirectBindingUtil

public class RedirectBindingUtil extends Object
Utility class for SAML HTTP/Redirect binding
Since:
Jan 14, 2009
Author:
Anil.Saldhana@redhat.com
  • Constructor Details

    • RedirectBindingUtil

      public RedirectBindingUtil()
  • Method Details

    • urlEncode

      public static String urlEncode(String str) throws IOException
      URL encode the string
      Parameters:
      str -
      Returns:
      Throws:
      IOException
    • urlDecode

      public static String urlDecode(String str) throws IOException
      URL decode the string
      Parameters:
      str -
      Returns:
      Throws:
      IOException
    • base64Encode

      public static String base64Encode(byte[] stringToEncode) throws IOException
      On the byte array, apply base64 encoding
      Parameters:
      stringToEncode -
      Returns:
      Throws:
      IOException
    • base64URLEncode

      public static String base64URLEncode(byte[] stringToEncode) throws IOException
      On the byte array, apply base64 encoding following by URL encoding
      Parameters:
      stringToEncode -
      Returns:
      Throws:
      IOException
    • urlBase64Decode

      public static byte[] urlBase64Decode(String encodedString) throws IOException
      On the byte array, apply URL decoding followed by base64 decoding
      Parameters:
      encodedString -
      Returns:
      Throws:
      IOException
    • deflateBase64URLEncode

      public static String deflateBase64URLEncode(String stringToEncode) throws IOException
      Apply deflate compression followed by base64 encoding and URL encoding
      Parameters:
      stringToEncode -
      Returns:
      Throws:
      IOException
    • deflateBase64URLEncode

      public static String deflateBase64URLEncode(byte[] stringToEncode) throws IOException
      Apply deflate compression followed by base64 encoding and URL encoding
      Parameters:
      stringToEncode -
      Returns:
      Throws:
      IOException
    • deflateBase64Encode

      public static String deflateBase64Encode(byte[] stringToEncode) throws IOException
      Apply deflate compression followed by base64 encoding
      Parameters:
      stringToEncode -
      Returns:
      Throws:
      IOException
    • urlBase64DeflateDecode

      public static InputStream urlBase64DeflateDecode(String encodedString) throws IOException
      Apply URL decoding, followed by base64 decoding followed by deflate decompression
      Parameters:
      encodedString -
      Returns:
      Throws:
      IOException
    • base64DeflateDecode

      public static InputStream base64DeflateDecode(String encodedString) throws IOException
      Base64 decode followed by Deflate decoding
      Parameters:
      encodedString -
      Returns:
      Throws:
      IOException
    • getDestinationQueryString

      public static String getDestinationQueryString(String urlEncodedRequest, String urlEncodedRelayState, boolean sendRequest)
      Get the Query String for the destination url
      Parameters:
      urlEncodedRequest -
      urlEncodedRelayState -
      sendRequest - either going to be saml request or response
      Returns:
    • getDestinationURL

      public static String getDestinationURL(RedirectBindingUtil.RedirectBindingUtilDestHolder holder) throws IOException
      Get the destination url
      Parameters:
      holder -
      Returns:
      Throws:
      IOException