Class OAuth


  • public class OAuth
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Constructor Description
      OAuth()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String addQueryParameters​(java.lang.String url, java.lang.String... kvPairs)
      Appends a list of key/value pairs to the given URL, e.g.:
      static java.lang.String addQueryParameters​(java.lang.String url, java.util.Map<java.lang.String,​java.lang.String> params)  
      static java.lang.String addQueryString​(java.lang.String url, java.lang.String queryString)  
      static void debugOut​(java.lang.String key, java.lang.String value)  
      static HttpParameters decodeForm​(java.io.InputStream content)  
      static HttpParameters decodeForm​(java.lang.String form)
      Parse a form-urlencoded document.
      static <T extends java.util.Map.Entry<java.lang.String,​java.lang.String>>
      java.lang.String
      formEncode​(java.util.Collection<T> parameters)
      Construct a x-www-form-urlencoded document containing the given sequence of name/value pairs.
      static <T extends java.util.Map.Entry<java.lang.String,​java.lang.String>>
      void
      formEncode​(java.util.Collection<T> parameters, java.io.OutputStream into)
      Construct a x-www-form-urlencoded document containing the given sequence of name/value pairs.
      static boolean isEmpty​(java.lang.String str)  
      static HttpParameters oauthHeaderToParamsMap​(java.lang.String oauthHeader)  
      static java.lang.String percentDecode​(java.lang.String s)  
      static java.lang.String percentEncode​(java.lang.String s)  
      static java.lang.String prepareOAuthHeader​(java.lang.String... kvPairs)
      Builds an OAuth header from the given list of header fields.
      static java.lang.String safeToString​(java.lang.Object from)  
      static java.lang.String toHeaderElement​(java.lang.String name, java.lang.String value)
      Helper method to concatenate a parameter and its value to a pair that can be used in an HTTP header.
      static <T extends java.util.Map.Entry<java.lang.String,​java.lang.String>>
      java.util.Map<java.lang.String,​java.lang.String>
      toMap​(java.util.Collection<T> from)
      Construct a Map containing a copy of the given parameters.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • HTTP_AUTHORIZATION_HEADER

        public static final java.lang.String HTTP_AUTHORIZATION_HEADER
        See Also:
        Constant Field Values
      • OAUTH_CONSUMER_KEY

        public static final java.lang.String OAUTH_CONSUMER_KEY
        See Also:
        Constant Field Values
      • OAUTH_TOKEN_SECRET

        public static final java.lang.String OAUTH_TOKEN_SECRET
        See Also:
        Constant Field Values
      • OAUTH_SIGNATURE_METHOD

        public static final java.lang.String OAUTH_SIGNATURE_METHOD
        See Also:
        Constant Field Values
      • OAUTH_CALLBACK_CONFIRMED

        public static final java.lang.String OAUTH_CALLBACK_CONFIRMED
        See Also:
        Constant Field Values
      • OUT_OF_BAND

        public static final java.lang.String OUT_OF_BAND
        Pass this value as the callback "url" upon retrieving a request token if your application cannot receive callbacks (e.g. because it's a desktop app). This will tell the service provider that verification happens out-of-band, which basically means that it will generate a PIN code (the OAuth verifier) and display that to your user. You must obtain this code from your user and pass it to OAuthProvider#retrieveAccessToken(OAuthConsumer, String) in order to complete the token handshake.
        See Also:
        Constant Field Values
    • Constructor Detail

      • OAuth

        public OAuth()
    • Method Detail

      • percentEncode

        public static java.lang.String percentEncode​(java.lang.String s)
      • percentDecode

        public static java.lang.String percentDecode​(java.lang.String s)
      • formEncode

        public static <T extends java.util.Map.Entry<java.lang.String,​java.lang.String>> void formEncode​(java.util.Collection<T> parameters,
                                                                                                               java.io.OutputStream into)
                                                                                                        throws java.io.IOException
        Construct a x-www-form-urlencoded document containing the given sequence of name/value pairs. Use OAuth percent encoding (not exactly the encoding mandated by x-www-form-urlencoded).
        Throws:
        java.io.IOException
      • formEncode

        public static <T extends java.util.Map.Entry<java.lang.String,​java.lang.String>> java.lang.String formEncode​(java.util.Collection<T> parameters)
                                                                                                                    throws java.io.IOException
        Construct a x-www-form-urlencoded document containing the given sequence of name/value pairs. Use OAuth percent encoding (not exactly the encoding mandated by x-www-form-urlencoded).
        Throws:
        java.io.IOException
      • decodeForm

        public static HttpParameters decodeForm​(java.lang.String form)
        Parse a form-urlencoded document.
      • decodeForm

        public static HttpParameters decodeForm​(java.io.InputStream content)
                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • toMap

        public static <T extends java.util.Map.Entry<java.lang.String,​java.lang.String>> java.util.Map<java.lang.String,​java.lang.String> toMap​(java.util.Collection<T> from)
        Construct a Map containing a copy of the given parameters. If several parameters have the same name, the Map will contain the first value, only.
      • safeToString

        public static final java.lang.String safeToString​(java.lang.Object from)
      • isEmpty

        public static boolean isEmpty​(java.lang.String str)
      • addQueryParameters

        public static java.lang.String addQueryParameters​(java.lang.String url,
                                                          java.lang.String... kvPairs)
        Appends a list of key/value pairs to the given URL, e.g.:
         String url = OAuth.addQueryParameters("http://example.com?a=1", b, 2, c, 3);
         
        which yields:
         http://example.com?a=1&b=2&c=3
         
        All parameters will be encoded according to OAuth's percent encoding rules.
        Parameters:
        url - the URL
        kvPairs - the list of key/value pairs
        Returns:
      • addQueryParameters

        public static java.lang.String addQueryParameters​(java.lang.String url,
                                                          java.util.Map<java.lang.String,​java.lang.String> params)
      • addQueryString

        public static java.lang.String addQueryString​(java.lang.String url,
                                                      java.lang.String queryString)
      • prepareOAuthHeader

        public static java.lang.String prepareOAuthHeader​(java.lang.String... kvPairs)
        Builds an OAuth header from the given list of header fields. All parameters starting in 'oauth_*' will be percent encoded.
         String authHeader = OAuth.prepareOAuthHeader("realm", "http://example.com", "oauth_token", "x%y");
         
        which yields:
         OAuth realm="http://example.com", oauth_token="x%25y"
         
        Parameters:
        kvPairs - the list of key/value pairs
        Returns:
        a string eligible to be used as an OAuth HTTP Authorization header.
      • oauthHeaderToParamsMap

        public static HttpParameters oauthHeaderToParamsMap​(java.lang.String oauthHeader)
      • toHeaderElement

        public static java.lang.String toHeaderElement​(java.lang.String name,
                                                       java.lang.String value)
        Helper method to concatenate a parameter and its value to a pair that can be used in an HTTP header. This method percent encodes both parts before joining them.
        Parameters:
        name - the OAuth parameter name, e.g. oauth_token
        value - the OAuth parameter value, e.g. 'hello oauth'
        Returns:
        a name/value pair, e.g. oauth_token="hello%20oauth"
      • debugOut

        public static void debugOut​(java.lang.String key,
                                    java.lang.String value)