com.google.api.client.googleapis.auth.oauth.package.html Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of google-api-client Show documentation
Show all versions of google-api-client Show documentation
Google API Client Library for Java. Supports Java 5 (or higher) desktop (SE)
and web (EE), Android, and Google App Engine.
Google's additions to OAuth 1.0a authorization as specified in
Google's
OAuth API Reference
(see detailed package specification).
Package Specification
Before using this library, you need to set up your application as
follows:
- For a web application, you should first register your application at
the Manage Your
Domains page. See detailed instructions at the registration
page. Take note of the following OAuth information you will need:
- OAuth Consumer Key (same as your appspot domain): use this as the
{@code consumerKey} on every OAuth request, for example in {@link
com.google.api.client.auth.oauth.AbstractOAuthGetToken#consumerKey}.
- OAuth Consumer Secret: use this as the {@link
com.google.api.client.auth.oauth.OAuthHmacSigner}.{@link
com.google.api.client.auth.oauth.OAuthHmacSigner#clientSharedSecret
clientSharedSecret} when using the {@code "HMAC-SHA1"} signature method.
- Upload new X.509 cert: See the instructions for generating
a self-signing private key and public certificate. Use {@link
com.google.api.client.auth.oauth.OAuthRsaSigner} for this {@code "RSA-SHA1"}
signature method.
- Example for generating private key and public certificate:
# Generate the RSA keys and certificate
keytool -genkey -v -alias Example -keystore ./Example.jks\
-keyalg RSA -sigalg SHA1withRSA\
-dname "CN=myappname.appspot.com, OU=Engineering, O=My_Company, L=Mountain View, ST=CA, C=US"\
-storepass changeme -keypass changeme
# Output the public certificate to a file
keytool -export -rfc -keystore ./Example.jks -storepass changeme \
-alias Example -file mycert.pem
- For an installed application, an unregistered web application, or a
web application running on localhost, you must use the {@code "HMAC-SHA1"}
signature method. Use {@code "anonymous"} for the {@code consumerKey} and
{@code clientSharedSecret}.
After the set up has been completed, the typical application flow is:
- Request a temporary credentials token ("request token") from the
Google Authorization server using {@link
com.google.api.client.googleapis.auth.oauth.GoogleOAuthGetTemporaryToken}. A
callback URL should be specified for web applications, but does not need to be
specified for installed applications.
- Direct the end user to a Google Accounts web page to allow the end
user to authorize the temporary token using using {@link
com.google.api.client.googleapis.auth.oauth.GoogleOAuthAuthorizeTemporaryTokenUrl}.
- After the user has granted the authorization:
- For web applications, the user's browser will be redirected to the
callback URL which may be parsed using {@link
com.google.api.client.auth.oauth.OAuthCallbackUrl}.
- For installed applications, use {@code ""} for the verification
code.
- Request to exchange the temporary token for a long-lived access token
from the Google Authorization server using {@link
com.google.api.client.googleapis.auth.oauth.GoogleOAuthGetAccessToken}. This
access token must be stored.
- Use the stored access token to authorize HTTP requests to protected
resources in Google services by setting the {@link
com.google.api.client.auth.oauth.OAuthParameters#token} and invoking {@link
com.google.api.client.auth.oauth.OAuthParameters#signRequestsUsingAuthorizationHeader}.
- For 2-legged OAuth, use {@link
com.google.api.client.googleapis.auth.oauth.GoogleOAuthDomainWideDelegation}
as a request execute intercepter to set the e-mail address of the user on
every HTTP request, or {@link
com.google.api.client.googleapis.auth.oauth.GoogleOAuthDomainWideDelegation.Url}
as a generic URL builder with the requestor ID parameter.
- To revoke an access token, use {@link
com.google.api.client.googleapis.auth.oauth.GoogleOAuthGetAccessToken#revokeAccessToken}.
Users can also manually revoke tokens from Google's change
authorized websites page.
This package depends on theses packages:
- {@link com.google.api.client.auth.oauth}
- {@link com.google.api.client.googleapis}
- {@link com.google.api.client.http}
- {@link com.google.api.client.util}
Warning: this package is experimental, and its content may be
changed in incompatible ways or possibly entirely removed in a future version of
the library
@since 1.0
© 2015 - 2025 Weber Informatics LLC | Privacy Policy