org.keycloak.saml.processing.web.util

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

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `RedirectBindingUtil.RedirectBindingUtilDestHolder` A Destination holder that holds the destination host url and the destination query string

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RedirectBindingUtil()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static InputStream` | `base64DeflateDecode(String encodedString)` Base64 decode followed by Deflate decoding
    `static String` | `base64URLEncode(byte[] stringToEncode)` On the byte array, apply base64 encoding following by URL encoding
    `static String` | `deflateBase64Encode(byte[] stringToEncode)` Apply deflate compression followed by base64 encoding
    `static String` | `deflateBase64URLEncode(byte[] stringToEncode)` Apply deflate compression followed by base64 encoding and URL encoding
    `static String` | `deflateBase64URLEncode(String stringToEncode)` Apply deflate compression followed by base64 encoding and URL encoding
    `static String` | `getDestinationQueryString(String urlEncodedRequest, String urlEncodedRelayState, boolean sendRequest)` Get the Query String for the destination url
    `static String` | `getDestinationURL(RedirectBindingUtil.RedirectBindingUtilDestHolder holder)` Get the destination url
    `static byte[]` | `urlBase64Decode(String encodedString)` On the byte array, apply URL decoding followed by base64 decoding
    `static InputStream` | `urlBase64DeflateDecode(String encodedString)` Apply URL decoding, followed by base64 decoding followed by deflate decompression
    `static String` | `urlDecode(String str)` URL decode the string
    `static String` | `urlEncode(String str)` URL encode the string

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

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

- - ### Constructor Detail

    - #### RedirectBindingUtil

          public RedirectBindingUtil()

  - ### Method Detail

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

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

      Base64 decode followed by Deflate decoding
      Parameters:
        `encodedString` -
      Returns:

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

Copyright © 2016 JBoss by Red Hat. All rights reserved.