|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectoauth.signpost.AbstractOAuthProvider
public abstract class AbstractOAuthProvider
ABC for all provider implementations. If you're writing a custom provider, you will probably inherit from this class, since it takes a lot of work from you.
| コンストラクタの概要 | |
|---|---|
AbstractOAuthProvider(String requestTokenEndpointUrl,
String accessTokenEndpointUrl,
String authorizationWebsiteUrl)
|
|
| メソッドの概要 | |
|---|---|
protected void |
closeConnection(HttpRequest request,
HttpResponse response)
Called when the connection is being finalized after receiving the response. |
protected abstract HttpRequest |
createRequest(String endpointUrl)
Overrride this method if you want to customize the logic for building a request object for the given endpoint URL. |
String |
getAccessTokenEndpointUrl()
|
String |
getAuthorizationWebsiteUrl()
|
Map<String,String> |
getRequestHeaders()
|
String |
getRequestTokenEndpointUrl()
|
protected String |
getResponseParameter(String key)
Returns a single query parameter as served by the service provider in a token reply. |
HttpParameters |
getResponseParameters()
Any additional non-OAuth parameters returned in the response body of a token request can be obtained through this method. |
protected void |
handleUnexpectedResponse(int statusCode,
HttpResponse response)
|
boolean |
isOAuth10a()
|
void |
removeListener(OAuthProviderListener listener)
|
void |
retrieveAccessToken(OAuthConsumer consumer,
String oauthVerifier,
String... customOAuthParams)
Queries the service provider for an access token. |
String |
retrieveRequestToken(OAuthConsumer consumer,
String callbackUrl,
String... customOAuthParams)
Queries the service provider for a request token. |
protected void |
retrieveToken(OAuthConsumer consumer,
String endpointUrl,
HttpParameters customOAuthParams)
Implemented by subclasses. |
protected abstract HttpResponse |
sendRequest(HttpRequest request)
Override this method if you want to customize the logic for how the given request is sent to the server. |
void |
setListener(OAuthProviderListener listener)
|
void |
setOAuth10a(boolean isOAuth10aProvider)
|
void |
setRequestHeader(String header,
String value)
Use this method to set custom HTTP headers to be used for the requests which are sent to retrieve tokens. |
void |
setResponseParameters(HttpParameters parameters)
Subclasses must use this setter to preserve any non-OAuth query parameters contained in the server response. |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
|---|
public AbstractOAuthProvider(String requestTokenEndpointUrl,
String accessTokenEndpointUrl,
String authorizationWebsiteUrl)
| メソッドの詳細 |
|---|
public String retrieveRequestToken(OAuthConsumer consumer,
String callbackUrl,
String... customOAuthParams)
throws OAuthMessageSignerException,
OAuthNotAuthorizedException,
OAuthExpectationFailedException,
OAuthCommunicationException
OAuthProvider の記述:
Pre-conditions: the given OAuthConsumer must have a valid
consumer key and consumer secret already set.
Post-conditions: the given OAuthConsumer will have an
unauthorized request token and token secret set.
OAuthProvider 内の retrieveRequestTokenconsumer - the OAuthConsumer that should be used to sign the requestcallbackUrl - Pass an actual URL if your app can receive callbacks and you want
to get informed about the result of the authorization process.
Pass OAuth.OUT_OF_BAND if the service provider implements
OAuth 1.0a and your app cannot receive callbacks. Pass null if the
service provider implements OAuth 1.0 and your app cannot receive
callbacks. Please note that some services (among them Twitter)
will fail authorization if you pass a callback URL but register
your application as a desktop app (which would only be able to
handle OOB requests).customOAuthParams - you can pass custom OAuth parameters here which will go directly
into the signer, i.e. you don't have to put them into the request
first. This is useful for pre-setting OAuth params for signing.
Pass them sequentially in key/value order.
OAuthMessageSignerException - if signing the request failed
OAuthNotAuthorizedException - if the service provider rejected the consumer
OAuthExpectationFailedException - if required parameters were not correctly set by the consumer or
service provider
OAuthCommunicationException - if server communication failed
public void retrieveAccessToken(OAuthConsumer consumer,
String oauthVerifier,
String... customOAuthParams)
throws OAuthMessageSignerException,
OAuthNotAuthorizedException,
OAuthExpectationFailedException,
OAuthCommunicationException
OAuthProvider の記述:
Pre-conditions: the given OAuthConsumer must have a valid
consumer key, consumer secret, authorized request token and token secret
already set.
Post-conditions: the given OAuthConsumer will have an
access token and token secret set.
OAuthProvider 内の retrieveAccessTokenconsumer - the OAuthConsumer that should be used to sign the requestoauthVerifier - NOTE: Only applies to service providers implementing OAuth
1.0a. Set to null if the service provider is still using OAuth
1.0. The verification code issued by the service provider
after the the user has granted the consumer authorization. If the
callback method provided in the previous step was
OAuth.OUT_OF_BAND, then you must ask the user for this
value. If your app has received a callback, the verfication code
was passed as part of that request instead.customOAuthParams - you can pass custom OAuth parameters here which will go directly
into the signer, i.e. you don't have to put them into the request
first. This is useful for pre-setting OAuth params for signing.
Pass them sequentially in key/value order.
OAuthMessageSignerException - if signing the request failed
OAuthNotAuthorizedException - if the service provider rejected the consumer
OAuthExpectationFailedException - if required parameters were not correctly set by the consumer or
service provider
OAuthCommunicationException - if server communication failed
protected void retrieveToken(OAuthConsumer consumer,
String endpointUrl,
HttpParameters customOAuthParams)
throws OAuthMessageSignerException,
OAuthCommunicationException,
OAuthNotAuthorizedException,
OAuthExpectationFailedException
Implemented by subclasses. The responsibility of this method is to contact the service provider at the given endpoint URL and fetch a request or access token. What kind of token is retrieved solely depends on the URL being used.
Correct implementations of this method must guarantee the following post-conditions:
OAuthConsumer passed to this method must have a valid
OAuth.OAUTH_TOKEN and OAuth.OAUTH_TOKEN_SECRET set by
calling OAuthConsumer.setTokenWithSecret(String, String)getResponseParameters() must return the set of query
parameters served by the service provider in the token response, with all
OAuth specific parameters being removed
consumer - the OAuthConsumer that should be used to sign the requestendpointUrl - the URL at which the service provider serves the OAuth token that
is to be fetchedcustomOAuthParams - you can pass custom OAuth parameters here (such as oauth_callback
or oauth_verifier) which will go directly into the signer, i.e.
you don't have to put them into the request first.
OAuthMessageSignerException - if signing the token request fails
OAuthCommunicationException - if a network communication error occurs
OAuthNotAuthorizedException - if the server replies 401 - Unauthorized
OAuthExpectationFailedException - if an expectation has failed, e.g. because the server didn't
reply in the expected format
protected void handleUnexpectedResponse(int statusCode,
HttpResponse response)
throws Exception
Exception
protected abstract HttpRequest createRequest(String endpointUrl)
throws Exception
endpointUrl - the URL to which the request will go
Exception - if something breaks
protected abstract HttpResponse sendRequest(HttpRequest request)
throws Exception
request - the request to send
Exception - if something breaks
protected void closeConnection(HttpRequest request,
HttpResponse response)
throws Exception
request - the request that has been sentresponse - the response that has been received
Exception - if something breakspublic HttpParameters getResponseParameters()
OAuthProvider の記述:
OAuthProvider 内の getResponseParametersprotected String getResponseParameter(String key)
setResponseParameters(oauth.signpost.http.HttpParameters) with the set of
parameters before using this method.
key - the parameter name
public void setResponseParameters(HttpParameters parameters)
OAuthProvider の記述:
OAuthProvider 内の setResponseParametersparameters - the map of query parameters served by the service provider in the
token responsepublic void setOAuth10a(boolean isOAuth10aProvider)
OAuthProvider 内の setOAuth10aisOAuth10aProvider - set to true if the service provider supports OAuth 1.0a. Note that
you need only call this method if you reconstruct a provider
object in between calls to retrieveRequestToken() and
retrieveAccessToken() (i.e. if the object state isn't preserved).
If instead those two methods are called on the same provider
instance, this flag will be deducted automatically based on the
server response during retrieveRequestToken(), so you can simply
ignore this method.public boolean isOAuth10a()
OAuthProvider 内の isOAuth10apublic String getRequestTokenEndpointUrl()
OAuthProvider 内の getRequestTokenEndpointUrlpublic String getAccessTokenEndpointUrl()
OAuthProvider 内の getAccessTokenEndpointUrlpublic String getAuthorizationWebsiteUrl()
OAuthProvider 内の getAuthorizationWebsiteUrl
public void setRequestHeader(String header,
String value)
OAuthProvider の記述:OAuthProviderListener to customize requests.
OAuthProvider 内の setRequestHeaderheader - The header name (e.g. 'WWW-Authenticate')value - The header value (e.g. 'realm=www.example.com')public Map<String,String> getRequestHeaders()
OAuthProvider 内の getRequestHeadersOAuthProvider.setRequestHeader(java.lang.String, java.lang.String)public void setListener(OAuthProviderListener listener)
OAuthProvider 内の setListenerpublic void removeListener(OAuthProviderListener listener)
OAuthProvider 内の removeListener
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||