public class

OAuthSignatureCalculator

extends Object
implements SignatureCalculator
java.lang.Object
   ↳ com.ning.http.client.oauth.OAuthSignatureCalculator

Class Overview

Simple OAuth signature calculator that can used for constructing client signatures for accessing services that use OAuth for authorization.

Supports most common signature inclusion and calculation methods: HMAC-SHA1 for calculation, and Header inclusion as inclusion method. Nonce generation uses simple random numbers with base64 encoding.

Summary

Constants
String HEADER_AUTHORIZATION
Fields
protected final ConsumerKey consumerAuth
protected final ThreadSafeHMAC mac
protected final byte[] nonceBuffer
protected final Random random To generate Nonce, need some (pseudo)randomness; no need for secure variant here.
protected final RequestToken userAuth
Public Constructors
OAuthSignatureCalculator(ConsumerKey consumerAuth, RequestToken userAuth)
Public Methods
void calculateAndAddSignature(String baseURL, Request request, RequestBuilderBase<?> requestBuilder)
Method called when 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
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.ning.http.client.SignatureCalculator

Constants

public static final String HEADER_AUTHORIZATION

Constant Value: "Authorization"

Fields

protected final ConsumerKey consumerAuth

protected final ThreadSafeHMAC mac

protected final byte[] nonceBuffer

protected final Random random

To generate Nonce, need some (pseudo)randomness; no need for secure variant here.

protected final RequestToken userAuth

Public Constructors

public OAuthSignatureCalculator (ConsumerKey consumerAuth, RequestToken userAuth)

Parameters
consumerAuth Consumer key to use for signature calculation
userAuth Request/access token to use for signature calculation

Public Methods

public void calculateAndAddSignature (String baseURL, Request request, RequestBuilderBase<?> requestBuilder)

Method called when build() method is called. Should first calculate signature information and then modify request (using passed RequestBuilder) to add signature (usually as an HTTP header).

Parameters
request Request that is being built; needed to access content to be signed
requestBuilder 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 recursion

public String calculateSignature (String method, String baseURL, long oauthTimestamp, String nonce, FluentStringsMap formParams, FluentStringsMap queryParams)

Method for calculating OAuth signature using HMAC/SHA-1 method.

public String constructAuthHeader (String signature, String nonce, long oauthTimestamp)

Method used for constructing