public class OAuthAuthorization extends java.lang.Object implements Authorization, java.io.Serializable, OAuthSupport
Modifier and Type | Field and Description |
---|---|
private Configuration |
conf |
private java.lang.String |
consumerKey |
private java.lang.String |
consumerSecret |
private static java.lang.String |
HMAC_SHA1 |
private static twitter4j.internal.http.HttpClientWrapper |
http |
private static twitter4j.internal.logging.Logger |
logger |
private static twitter4j.internal.http.HttpParameter |
OAUTH_SIGNATURE_METHOD |
private OAuthToken |
oauthToken |
private static java.util.Random |
RAND |
private java.lang.String |
realm |
(package private) static long |
serialVersionUID |
Constructor and Description |
---|
OAuthAuthorization(Configuration conf) |
OAuthAuthorization(Configuration conf,
java.lang.String consumerKey,
java.lang.String consumerSecret) |
OAuthAuthorization(Configuration conf,
java.lang.String consumerKey,
java.lang.String consumerSecret,
AccessToken accessToken) |
Modifier and Type | Method and Description |
---|---|
static java.lang.String |
constructRequestURL(java.lang.String url)
The Signature Base String includes the request absolute URL, tying the signature to a specific endpoint.
|
static java.lang.String |
encodeParameters(java.util.List<twitter4j.internal.http.HttpParameter> httpParams) |
static java.lang.String |
encodeParameters(java.util.List<twitter4j.internal.http.HttpParameter> httpParams,
java.lang.String splitter,
boolean quot) |
private void |
ensureTokenIsAvailable() |
boolean |
equals(java.lang.Object o) |
(package private) java.lang.String |
generateAuthorizationHeader(java.lang.String method,
java.lang.String url,
twitter4j.internal.http.HttpParameter[] params,
OAuthToken token) |
(package private) java.lang.String |
generateAuthorizationHeader(java.lang.String method,
java.lang.String url,
twitter4j.internal.http.HttpParameter[] params,
java.lang.String nonce,
java.lang.String timestamp,
OAuthToken otoken) |
java.util.List<twitter4j.internal.http.HttpParameter> |
generateOAuthSignatureHttpParams(java.lang.String method,
java.lang.String url) |
(package private) java.lang.String |
generateSignature(java.lang.String data) |
(package private) java.lang.String |
generateSignature(java.lang.String data,
OAuthToken token)
Computes RFC 2104-compliant HMAC signature.
|
java.lang.String |
getAuthorizationHeader(twitter4j.internal.http.HttpRequest req) |
AccessToken |
getOAuthAccessToken()
Returns an access token associated with this instance.
If no access token is associated with this instance, this will retrieve a new access token. |
AccessToken |
getOAuthAccessToken(RequestToken requestToken)
Retrieves an access token associated with the supplied request token and sets userId.
|
AccessToken |
getOAuthAccessToken(RequestToken requestToken,
java.lang.String oauthVerifier)
Retrieves an access token associated with the supplied request token and sets userId.
|
AccessToken |
getOAuthAccessToken(java.lang.String oauthVerifier)
Retrieves an access token.
|
AccessToken |
getOAuthAccessToken(java.lang.String screenName,
java.lang.String password)
Retrieves an access token associated with the supplied screen name and password using xAuth.
In order to get access acquire AccessToken using xAuth, you must apply by sending an email to api@twitter.com — all other applications will receive an HTTP 401 error. |
RequestToken |
getOAuthRequestToken()
Retrieves a request token
|
RequestToken |
getOAuthRequestToken(java.lang.String callbackURL)
Retrieves a request token
|
int |
hashCode() |
private void |
init(java.lang.String consumerKey,
java.lang.String consumerSecret) |
private void |
init(java.lang.String consumerKey,
java.lang.String consumerSecret,
AccessToken accessToken) |
boolean |
isEnabled()
#{inheritDoc}
|
static java.lang.String |
normalizeAuthorizationHeaders(java.util.List<twitter4j.internal.http.HttpParameter> params) |
static java.lang.String |
normalizeRequestParameters(twitter4j.internal.http.HttpParameter[] params)
The request parameters are collected, sorted and concatenated into a normalized string:
• Parameters in the OAuth HTTP Authorization header excluding the realm parameter. • Parameters in the HTTP POST request body (with a content-type of application/x-www-form-urlencoded). • HTTP GET parameters added to the URLs in the query part (as defined by [RFC3986] section 3). The oauth_signature parameter MUST be excluded. The parameters are normalized into a single string as follows: 1. |
static java.lang.String |
normalizeRequestParameters(java.util.List<twitter4j.internal.http.HttpParameter> params) |
private void |
parseGetParameters(java.lang.String url,
java.util.List<twitter4j.internal.http.HttpParameter> signatureBaseParams) |
private void |
setConsumerKey(java.lang.String consumerKey) |
private void |
setConsumerSecret(java.lang.String consumerSecret) |
void |
setOAuthAccessToken(AccessToken accessToken)
Sets the access token
|
void |
setOAuthRealm(java.lang.String realm)
Sets the OAuth realm
|
static java.util.List<twitter4j.internal.http.HttpParameter> |
toParamList(twitter4j.internal.http.HttpParameter[] params) |
java.lang.String |
toString() |
private final Configuration conf
private static transient twitter4j.internal.http.HttpClientWrapper http
private static final java.lang.String HMAC_SHA1
private static final twitter4j.internal.http.HttpParameter OAUTH_SIGNATURE_METHOD
private static final twitter4j.internal.logging.Logger logger
static final long serialVersionUID
private java.lang.String consumerKey
private java.lang.String consumerSecret
private java.lang.String realm
private OAuthToken oauthToken
private static java.util.Random RAND
public OAuthAuthorization(Configuration conf)
public OAuthAuthorization(Configuration conf, java.lang.String consumerKey, java.lang.String consumerSecret)
public OAuthAuthorization(Configuration conf, java.lang.String consumerKey, java.lang.String consumerSecret, AccessToken accessToken)
private void init(java.lang.String consumerKey, java.lang.String consumerSecret)
private void init(java.lang.String consumerKey, java.lang.String consumerSecret, AccessToken accessToken)
public java.lang.String getAuthorizationHeader(twitter4j.internal.http.HttpRequest req)
getAuthorizationHeader
in interface Authorization
private void ensureTokenIsAvailable()
public boolean isEnabled()
isEnabled
in interface Authorization
public RequestToken getOAuthRequestToken() throws TwitterException
getOAuthRequestToken
in interface OAuthSupport
TwitterException
- when Twitter service or network is unavailablepublic RequestToken getOAuthRequestToken(java.lang.String callbackURL) throws TwitterException
getOAuthRequestToken
in interface OAuthSupport
callbackURL
- callback URLTwitterException
- when Twitter service or network is unavailablepublic AccessToken getOAuthAccessToken() throws TwitterException
getOAuthAccessToken
in interface OAuthSupport
TwitterException
- when Twitter service or network is unavailable, or the user has not authorizedpublic AccessToken getOAuthAccessToken(java.lang.String oauthVerifier) throws TwitterException
getOAuthAccessToken
in interface OAuthSupport
oauthVerifier
- OAuth verifier. AKA pin.TwitterException
- when Twitter service or network is unavailable, or the user has not authorizedpublic AccessToken getOAuthAccessToken(RequestToken requestToken) throws TwitterException
getOAuthAccessToken
in interface OAuthSupport
requestToken
- the request tokenTwitterException
- when Twitter service or network is unavailable, or the user has not authorizedpublic AccessToken getOAuthAccessToken(RequestToken requestToken, java.lang.String oauthVerifier) throws TwitterException
getOAuthAccessToken
in interface OAuthSupport
requestToken
- the request tokenoauthVerifier
- OAuth verifier. AKA pin.TwitterException
- when Twitter service or network is unavailable, or the user has not authorizedpublic AccessToken getOAuthAccessToken(java.lang.String screenName, java.lang.String password) throws TwitterException
getOAuthAccessToken
in interface OAuthSupport
screenName
- the screen namepassword
- the passwordTwitterException
- when Twitter service or network is unavailable, or the user has not authorizedpublic void setOAuthAccessToken(AccessToken accessToken)
setOAuthAccessToken
in interface OAuthSupport
accessToken
- accessTokenpublic void setOAuthRealm(java.lang.String realm)
realm
- OAuth realmjava.lang.String generateAuthorizationHeader(java.lang.String method, java.lang.String url, twitter4j.internal.http.HttpParameter[] params, java.lang.String nonce, java.lang.String timestamp, OAuthToken otoken)
private void parseGetParameters(java.lang.String url, java.util.List<twitter4j.internal.http.HttpParameter> signatureBaseParams)
java.lang.String generateAuthorizationHeader(java.lang.String method, java.lang.String url, twitter4j.internal.http.HttpParameter[] params, OAuthToken token)
public java.util.List<twitter4j.internal.http.HttpParameter> generateOAuthSignatureHttpParams(java.lang.String method, java.lang.String url)
java.lang.String generateSignature(java.lang.String data, OAuthToken token)
data
- the data to be signedtoken
- the tokenjava.lang.String generateSignature(java.lang.String data)
public static java.lang.String normalizeRequestParameters(twitter4j.internal.http.HttpParameter[] params)
params
- parameters to be normalized and concatenatedpublic static java.lang.String normalizeRequestParameters(java.util.List<twitter4j.internal.http.HttpParameter> params)
public static java.lang.String normalizeAuthorizationHeaders(java.util.List<twitter4j.internal.http.HttpParameter> params)
public static java.util.List<twitter4j.internal.http.HttpParameter> toParamList(twitter4j.internal.http.HttpParameter[] params)
public static java.lang.String encodeParameters(java.util.List<twitter4j.internal.http.HttpParameter> httpParams)
httpParams
- parameters to be encoded and concatenatedpublic static java.lang.String encodeParameters(java.util.List<twitter4j.internal.http.HttpParameter> httpParams, java.lang.String splitter, boolean quot)
public static java.lang.String constructRequestURL(java.lang.String url)
url
- the url to be normalizedprivate void setConsumerKey(java.lang.String consumerKey)
private void setConsumerSecret(java.lang.String consumerSecret)
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object