com.google.api.client.extensions.auth.helpers.oauth
Class OAuthHmacThreeLeggedFlow

java.lang.Object
  extended by com.google.api.client.extensions.auth.helpers.oauth.OAuthHmacThreeLeggedFlow
All Implemented Interfaces:
ThreeLeggedFlow

public class OAuthHmacThreeLeggedFlow
extends Object
implements ThreeLeggedFlow

ThreeLeggedFlow implementation that will execute the proper requests to obtain an OAuth1 Credential object that can be used to sign requests.

This class is not thread safe, nor should you attempt to execute a flow from multiple threads simultaneously.

Since:
1.5
Author:
moshenko@google.com (Jacob Moshenko)

Constructor Summary
OAuthHmacThreeLeggedFlow(String userId, String consumerKey, String consumerSecret, String authorizationServerUrl, String temporaryTokenUrl, String callbackUrl, HttpTransport transport)
          Create an OAuthThreeLeggedFlow instance from the required information.
 
Method Summary
 Credential complete(String authorizationCode)
          After the user has authorized the request, the token or code obtained should be passed to this complete function to allow us to exchange the code with the authentication server for a Credential.
 String getAuthorizationUrl()
          After the object is created, the developer should use this method to interrogate it for the authorization URL to which the user should be redirected to obtain permission.
 Credential loadCredential(javax.jdo.PersistenceManager pm)
          Convenience function that will load a credential based on the userId for which this flow was instantiated.
 void setHttpTransport(HttpTransport transport)
          Set HttpTransport instance for this three legged flow.
 void setJsonFactory(JsonFactory jsonFactory)
          Set JsonFactory instance for this three legged flow.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OAuthHmacThreeLeggedFlow

public OAuthHmacThreeLeggedFlow(String userId,
                                String consumerKey,
                                String consumerSecret,
                                String authorizationServerUrl,
                                String temporaryTokenUrl,
                                String callbackUrl,
                                HttpTransport transport)
                         throws IOException
Create an OAuthThreeLeggedFlow instance from the required information.

Parameters:
userId - Key that can be used to associate this flow with an end user.
consumerKey - Key that identifies the server to the service provider.
consumerSecret - Secret that is shared between the server and the service provider.
authorizationServerUrl - Url with which we communicate to authorize tis application.
temporaryTokenUrl - Url which we will use to obtain a temporary token.
callbackUrl - Url which the server should redirect the user to after obtaining authorization.
Throws:
IOException - Exception thrown when the flow is unable to communicate with the service provider.
Method Detail

getAuthorizationUrl

public String getAuthorizationUrl()
Description copied from interface: ThreeLeggedFlow
After the object is created, the developer should use this method to interrogate it for the authorization URL to which the user should be redirected to obtain permission.

Specified by:
getAuthorizationUrl in interface ThreeLeggedFlow
Returns:
URL to which the user should be directed

complete

public Credential complete(String authorizationCode)
                    throws IOException
Description copied from interface: ThreeLeggedFlow
After the user has authorized the request, the token or code obtained should be passed to this complete function to allow us to exchange the code with the authentication server for a Credential.

Specified by:
complete in interface ThreeLeggedFlow
Parameters:
authorizationCode - Code or token obtained after the user grants permission
Returns:
Credential object that is obtained from token server
Throws:
IOException - When an error occurs when communicating with the token server

loadCredential

public Credential loadCredential(javax.jdo.PersistenceManager pm)
Description copied from interface: ThreeLeggedFlow
Convenience function that will load a credential based on the userId for which this flow was instantiated.

Specified by:
loadCredential in interface ThreeLeggedFlow
Parameters:
pm - PersistenceManager instance which this flow should use to interact with the data store. The caller must remember to call PersistenceManager.close() after this method returns.
Returns:
Fully initialized Credential object or null if none exists.

setHttpTransport

public void setHttpTransport(HttpTransport transport)
Description copied from interface: ThreeLeggedFlow
Set HttpTransport instance for this three legged flow.

Specified by:
setHttpTransport in interface ThreeLeggedFlow

setJsonFactory

public void setJsonFactory(JsonFactory jsonFactory)
Description copied from interface: ThreeLeggedFlow
Set JsonFactory instance for this three legged flow.

Specified by:
setJsonFactory in interface ThreeLeggedFlow


Copyright © 2011-2012 Google. All Rights Reserved.