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 #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 #createAndStoreCredential(TokenResponse, String) to store and obtain a credential for accessing
protected resources.
The default for the approval_prompt
and access_type
parameters is
null
. For web applications that means "approval_prompt=auto&access_type=online"
and for
installed applications that means "approval_prompt=force&access_type=offline"
. To
override the default, you need to explicitly call Builder#setApprovalPrompt(String) and
Builder#setAccessType(String).
Inheritance
java.lang.Object > com.google.api.client.auth.oauth2.AuthorizationCodeFlow > GoogleAuthorizationCodeFlowConstructors
GoogleAuthorizationCodeFlow(GoogleAuthorizationCodeFlow.Builder builder)
protected GoogleAuthorizationCodeFlow(GoogleAuthorizationCodeFlow.Builder builder)
Name | Description |
builder | GoogleAuthorizationCodeFlow.Builder Google authorization code flow builder |
GoogleAuthorizationCodeFlow(HttpTransport transport, JsonFactory jsonFactory, String clientId, String clientSecret, Collection<String> scopes)
public GoogleAuthorizationCodeFlow(HttpTransport transport, JsonFactory jsonFactory, String clientId, String clientSecret, Collection<String> scopes)
Name | Description |
transport | com.google.api.client.http.HttpTransport HTTP transport |
jsonFactory | com.google.api.client.json.JsonFactory JSON factory |
clientId | String client identifier |
clientSecret | String client secret |
scopes | Collection<String> collection of scopes to be joined by a space separator |
Methods
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"
.
Type | Description |
String |
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"
.
Type | Description |
String |
newAuthorizationUrl()
public GoogleAuthorizationCodeRequestUrl newAuthorizationUrl()
Type | Description |
GoogleAuthorizationCodeRequestUrl |
newTokenRequest(String authorizationCode)
public GoogleAuthorizationCodeTokenRequest newTokenRequest(String authorizationCode)
Name | Description |
authorizationCode | String |
Type | Description |
GoogleAuthorizationCodeTokenRequest |