Class OAuthHmacThreeLeggedFlow
java.lang.Object
com.google.api.client.extensions.auth.helpers.oauth.OAuthHmacThreeLeggedFlow
- All Implemented Interfaces:
ThreeLeggedFlow
Beta 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
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate StringAuthorization url which we will use to talk to the server.private final StringUrl which is generated to authorize this specific user for this service.private StringKey that identifies the server to the service provider.private StringSecret that is shared between the server and the service provider.private StringTemporary token that gets associated with this flow.private StringTemporary secret that gets associated with the temporary token.private com.google.api.client.http.HttpTransportHttp transport to use to communicate with the auth server.private StringKey that can be used to associate this flow with an end user. -
Constructor Summary
ConstructorsConstructorDescriptionOAuthHmacThreeLeggedFlow(String userId, String consumerKey, String consumerSecret, String authorizationServerUrl, String temporaryTokenUrl, String callbackUrl, com.google.api.client.http.HttpTransport transport) Create an OAuthThreeLeggedFlow instance from the required information. -
Method Summary
Modifier and TypeMethodDescriptionAfter 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 aCredential.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.loadCredential(javax.jdo.PersistenceManager pm) Convenience function that will load a credential based on the userId for which this flow was instantiated.voidsetHttpTransport(com.google.api.client.http.HttpTransport transport) SetHttpTransportinstance for this three legged flow.voidsetJsonFactory(com.google.api.client.json.JsonFactory jsonFactory) SetJsonFactoryinstance for this three legged flow.
-
Field Details
-
userId
Key that can be used to associate this flow with an end user. -
tempToken
Temporary token that gets associated with this flow. -
tempTokenSecret
Temporary secret that gets associated with the temporary token. -
consumerSecret
Secret that is shared between the server and the service provider. -
consumerKey
Key that identifies the server to the service provider. -
authorizationServerUrl
Authorization url which we will use to talk to the server. -
authorizationUrl
Url which is generated to authorize this specific user for this service. -
transport
private com.google.api.client.http.HttpTransport transportHttp transport to use to communicate with the auth server.
-
-
Constructor Details
-
OAuthHmacThreeLeggedFlow
public OAuthHmacThreeLeggedFlow(String userId, String consumerKey, String consumerSecret, String authorizationServerUrl, String temporaryTokenUrl, String callbackUrl, com.google.api.client.http.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 Details
-
getAuthorizationUrl
Description copied from interface:ThreeLeggedFlowAfter 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:
getAuthorizationUrlin interfaceThreeLeggedFlow- Returns:
- URL to which the user should be directed
-
complete
Description copied from interface:ThreeLeggedFlowAfter 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 aCredential.- Specified by:
completein interfaceThreeLeggedFlow- Parameters:
authorizationCode- Code or token obtained after the user grants permission- Returns:
Credentialobject that is obtained from token server- Throws:
IOException
-
loadCredential
Description copied from interface:ThreeLeggedFlowConvenience function that will load a credential based on the userId for which this flow was instantiated.- Specified by:
loadCredentialin interfaceThreeLeggedFlow- Parameters:
pm-PersistenceManagerinstance which this flow should use to interact with the data store. The caller must remember to callPersistenceManager.close()after this method returns.- Returns:
- Fully initialized
Credentialobject ornullif none exists.
-
setHttpTransport
public void setHttpTransport(com.google.api.client.http.HttpTransport transport) Description copied from interface:ThreeLeggedFlowSetHttpTransportinstance for this three legged flow.- Specified by:
setHttpTransportin interfaceThreeLeggedFlow
-
setJsonFactory
public void setJsonFactory(com.google.api.client.json.JsonFactory jsonFactory) Description copied from interface:ThreeLeggedFlowSetJsonFactoryinstance for this three legged flow.- Specified by:
setJsonFactoryin interfaceThreeLeggedFlow
-