Package oauth.signpost
Class OAuth
- java.lang.Object
-
- oauth.signpost.OAuth
-
public class OAuth extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringENCODINGstatic java.lang.StringFORM_ENCODEDstatic java.lang.StringHTTP_AUTHORIZATION_HEADERstatic java.lang.StringOAUTH_CALLBACKstatic java.lang.StringOAUTH_CALLBACK_CONFIRMEDstatic java.lang.StringOAUTH_CONSUMER_KEYstatic java.lang.StringOAUTH_NONCEstatic java.lang.StringOAUTH_SIGNATUREstatic java.lang.StringOAUTH_SIGNATURE_METHODstatic java.lang.StringOAUTH_TIMESTAMPstatic java.lang.StringOAUTH_TOKENstatic java.lang.StringOAUTH_TOKEN_SECRETstatic java.lang.StringOAUTH_VERIFIERstatic java.lang.StringOAUTH_VERSIONstatic java.lang.StringOUT_OF_BANDPass this value as the callback "url" upon retrieving a request token if your application cannot receive callbacks (e.g.private static PercentEscaperpercentEncoderstatic java.lang.StringVERSION_1_0
-
Constructor Summary
Constructors Constructor Description OAuth()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.StringaddQueryParameters(java.lang.String url, java.lang.String... kvPairs)Appends a list of key/value pairs to the given URL, e.g.:static java.lang.StringaddQueryParameters(java.lang.String url, java.util.Map<java.lang.String,java.lang.String> params)static java.lang.StringaddQueryString(java.lang.String url, java.lang.String queryString)static voiddebugOut(java.lang.String key, java.lang.String value)static HttpParametersdecodeForm(java.io.InputStream content)static HttpParametersdecodeForm(java.lang.String form)Parse a form-urlencoded document.static <T extends java.util.Map.Entry<java.lang.String,java.lang.String>>
java.lang.StringformEncode(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>>
voidformEncode(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 booleanisEmpty(java.lang.String str)static HttpParametersoauthHeaderToParamsMap(java.lang.String oauthHeader)static java.lang.StringpercentDecode(java.lang.String s)static java.lang.StringpercentEncode(java.lang.String s)static java.lang.StringprepareOAuthHeader(java.lang.String... kvPairs)Builds an OAuth header from the given list of header fields.static java.lang.StringsafeToString(java.lang.Object from)static java.lang.StringtoHeaderElement(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.
-
-
-
Field Detail
-
VERSION_1_0
public static final java.lang.String VERSION_1_0
- See Also:
- Constant Field Values
-
ENCODING
public static final java.lang.String ENCODING
- See Also:
- Constant Field Values
-
FORM_ENCODED
public static final java.lang.String FORM_ENCODED
- See Also:
- Constant Field Values
-
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
public static final java.lang.String OAUTH_TOKEN
- 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_SIGNATURE
public static final java.lang.String OAUTH_SIGNATURE
- See Also:
- Constant Field Values
-
OAUTH_TIMESTAMP
public static final java.lang.String OAUTH_TIMESTAMP
- See Also:
- Constant Field Values
-
OAUTH_NONCE
public static final java.lang.String OAUTH_NONCE
- See Also:
- Constant Field Values
-
OAUTH_VERSION
public static final java.lang.String OAUTH_VERSION
- See Also:
- Constant Field Values
-
OAUTH_CALLBACK
public static final java.lang.String OAUTH_CALLBACK
- See Also:
- Constant Field Values
-
OAUTH_CALLBACK_CONFIRMED
public static final java.lang.String OAUTH_CALLBACK_CONFIRMED
- See Also:
- Constant Field Values
-
OAUTH_VERIFIER
public static final java.lang.String OAUTH_VERIFIER
- 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 toOAuthProvider#retrieveAccessToken(OAuthConsumer, String)in order to complete the token handshake.- See Also:
- Constant Field Values
-
percentEncoder
private static final PercentEscaper percentEncoder
-
-
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.IOExceptionConstruct 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.IOExceptionConstruct 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 URLkvPairs- 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_tokenvalue- 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)
-
-