Enhanced Mobile App Authorization for Specific Providers
Some OAuth providers have built special mobile libraries or applications to make doing OAuth easier on devices and to improve the user experience.
For Google
On its Android operating system, Google provides a service called the AccountManager. Originally this service was designed to allow applications to request auth tokens for Google APIs using the proprietary ClientLogin mechanism. However, this service has been updated to support getting OAuth 2.0 access tokens for Google APIs.
In order to get an OAuth 2.0 access token, you simply need to call
AccountManager.getAuthToken() to
request a token using an authTokenType of oauth2:<scope>. For example, to request
access to the Google Tasks API, specify an authTokenType of oauth2:https://www.googleapis.com/auth/tasks.
Unfortunately, this literal string will be presented to users when
they’re asked to grant access, so using this technique is not
recommended. However, for some APIs, such as Google Tasks, there are
aliases such as Manage Your Tasks that can be used in place of the
oauth2:<scope> value to produce
a much friendlier request.
After you call getAuthToken(),
the account manager will ask the user to approve or deny the request
using a native application prompt. If the user approves the request, the
application will be issued an access_token value, which can be used in API
requests.
The Google Tasks API team has created an article with more details on using this technique. Although ...