com.google.api.client.googleapis.auth.oauth2
Class GoogleAuthorizationCodeFlow
java.lang.Object
com.google.api.client.auth.oauth2.AuthorizationCodeFlow
com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow
public class GoogleAuthorizationCodeFlow
- extends AuthorizationCodeFlow
Thread-safe Google OAuth 2.0 authorization code flow that manages and persists end-user
credentials.
This is designed to simplify the flow in which an end-user authorizes the application to access
their protected data, and then the application has access to their data based on an access token
and a refresh token to refresh that access token when it expires.
The first step is to call AuthorizationCodeFlow.loadCredential(String)
based on the known user ID to check if
the end-user's credentials are already known. If not, call newAuthorizationUrl()
and
direct the end-user's browser to an authorization page. The web browser will then redirect to the
redirect URL with a "code"
query parameter which can then be used to request an access
token using newTokenRequest(String)
. Finally, use
AuthorizationCodeFlow.createAndStoreCredential(TokenResponse, String)
to store and obtain a credential for
accessing protected resources.
- Since:
- 1.7
- Author:
- Yaniv Inbar
Constructor Summary |
protected |
GoogleAuthorizationCodeFlow(Credential.AccessMethod method,
HttpTransport transport,
JsonFactory jsonFactory,
GenericUrl tokenServerUrl,
HttpExecuteInterceptor clientAuthentication,
String clientId,
String authorizationServerEncodedUrl,
CredentialStore credentialStore,
HttpRequestInitializer requestInitializer,
String scopes,
String accessType,
String approvalPrompt)
|
Methods inherited from class com.google.api.client.auth.oauth2.AuthorizationCodeFlow |
createAndStoreCredential, getAuthorizationServerEncodedUrl, getClientAuthentication, getClientId, getCredentialStore, getJsonFactory, getMethod, getRequestInitializer, getScopes, getTokenServerEncodedUrl, getTransport, loadCredential |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
GoogleAuthorizationCodeFlow
protected GoogleAuthorizationCodeFlow(Credential.AccessMethod method,
HttpTransport transport,
JsonFactory jsonFactory,
GenericUrl tokenServerUrl,
HttpExecuteInterceptor clientAuthentication,
String clientId,
String authorizationServerEncodedUrl,
CredentialStore credentialStore,
HttpRequestInitializer requestInitializer,
String scopes,
String accessType,
String approvalPrompt)
- Parameters:
method
- method of presenting the access token to the resource server (for example
BearerToken.authorizationHeaderAccessMethod()
)transport
- HTTP transportjsonFactory
- JSON factorytokenServerUrl
- token server URLclientAuthentication
- client authentication or null
for none (see
TokenRequest.setClientAuthentication(HttpExecuteInterceptor)
)clientId
- client identifierauthorizationServerEncodedUrl
- authorization server encoded URLcredentialStore
- credential persistence store or null
for nonerequestInitializer
- HTTP request initializer or null
for nonescopes
- space-separated list of scopes or null
for noneaccessType
- access type ("online"
to request online access or "offline"
to request offline access) or null
for the default behaviorapprovalPrompt
- Prompt for consent behavior ("auto"
to request auto-approval or
"force"
to force the approval UI to show) or null
for the default
behavior
newTokenRequest
public GoogleAuthorizationCodeTokenRequest newTokenRequest(String authorizationCode)
- Overrides:
newTokenRequest
in class AuthorizationCodeFlow
newAuthorizationUrl
public GoogleAuthorizationCodeRequestUrl newAuthorizationUrl()
- Overrides:
newAuthorizationUrl
in class AuthorizationCodeFlow
getApprovalPrompt
public final String getApprovalPrompt()
- Returns the approval prompt behavior (
"auto"
to request auto-approval or
"force"
to force the approval UI to show) or null
for the default behavior of
"auto"
.
getAccessType
public final String getAccessType()
- Returns the access type (
"online"
to request online access or "offline"
to
request offline access) or null
for the default behavior of "online"
.
Copyright © 2010-2012 Google. All Rights Reserved.