public class OAuthSignatureCalculator extends Object implements SignatureCalculator
Modifier and Type | Field and Description |
---|---|
protected ConsumerKey |
consumerAuth |
static String |
HEADER_AUTHORIZATION |
protected ThreadSafeHMAC |
mac |
protected byte[] |
nonceBuffer |
protected Random |
random
To generate Nonce, need some (pseudo)randomness; no need for
secure variant here.
|
protected RequestToken |
userAuth |
Constructor and Description |
---|
OAuthSignatureCalculator(ConsumerKey consumerAuth,
RequestToken userAuth) |
Modifier and Type | Method and Description |
---|---|
void |
calculateAndAddSignature(String baseURL,
Request request,
RequestBuilderBase<?> requestBuilder)
Method called when
RequestBuilder.build() method is called. |
String |
calculateSignature(String method,
String baseURL,
long oauthTimestamp,
String nonce,
FluentStringsMap formParams,
FluentStringsMap queryParams)
Method for calculating OAuth signature using HMAC/SHA-1 method.
|
String |
constructAuthHeader(String signature,
String nonce,
long oauthTimestamp)
Method used for constructing
|
public static final String HEADER_AUTHORIZATION
protected final Random random
protected final byte[] nonceBuffer
protected final ThreadSafeHMAC mac
protected final ConsumerKey consumerAuth
protected final RequestToken userAuth
public OAuthSignatureCalculator(ConsumerKey consumerAuth, RequestToken userAuth)
consumerAuth
- Consumer key to use for signature calculationuserAuth
- Request/access token to use for signature calculationpublic void calculateAndAddSignature(String baseURL, Request request, RequestBuilderBase<?> requestBuilder)
SignatureCalculator
RequestBuilder.build()
method is called.
Should first calculate signature information and then modify request
(using passed RequestBuilder
) to add signature (usually as
an HTTP header).calculateAndAddSignature
in interface SignatureCalculator
request
- Request that is being built; needed to access content to
be signedrequestBuilder
- builder that can be used to modify request, usually
by adding header that includes calculated signature. Be sure NOT to
call RequestBuilder.build()
since this will cause infinite recursionpublic String calculateSignature(String method, String baseURL, long oauthTimestamp, String nonce, FluentStringsMap formParams, FluentStringsMap queryParams)
Copyright © 2015. All rights reserved.