public class OAuth2Credentials extends Credentials
Modifier and Type | Class and Description |
---|---|
static class |
OAuth2Credentials.Builder |
static interface |
OAuth2Credentials.CredentialsChangedListener
Listener for changes to credentials.
|
Modifier | Constructor and Description |
---|---|
protected |
OAuth2Credentials()
Default constructor.
|
protected |
OAuth2Credentials(AccessToken accessToken)
Constructor with explicit access token.
|
Modifier and Type | Method and Description |
---|---|
void |
addChangeListener(OAuth2Credentials.CredentialsChangedListener listener)
Adds a listener that is notified when the Credentials data changes.
|
static OAuth2Credentials |
create(AccessToken accessToken)
Returns the credentials instance from the given access token.
|
boolean |
equals(Object obj) |
AccessToken |
getAccessToken()
Returns the cached access token.
|
String |
getAuthenticationType() |
protected static <T> T |
getFromServiceLoader(Class<? extends T> clazz,
T defaultInstance) |
Map<String,List<String>> |
getRequestMetadata(URI uri)
Provide the request metadata by ensuring there is a current access token and providing it as an
authorization bearer token.
|
void |
getRequestMetadata(URI uri,
Executor executor,
RequestMetadataCallback callback) |
protected Map<String,List<String>> |
getRequestMetadataInternal() |
int |
hashCode() |
boolean |
hasRequestMetadata() |
boolean |
hasRequestMetadataOnly() |
static OAuth2Credentials.Builder |
newBuilder() |
protected static <T> T |
newInstance(String className) |
void |
refresh()
Refresh the token by discarding the cached token and metadata and requesting the new ones.
|
AccessToken |
refreshAccessToken()
Method to refresh the access token according to the specific type of credentials.
|
void |
refreshIfExpired()
Refresh these credentials only if they have expired or are expiring imminently.
|
void |
removeChangeListener(OAuth2Credentials.CredentialsChangedListener listener)
Removes a listener that was added previously.
|
OAuth2Credentials.Builder |
toBuilder() |
String |
toString() |
blockingGetToCallback, getRequestMetadata
protected OAuth2Credentials()
protected OAuth2Credentials(AccessToken accessToken)
accessToken
- initial or temporary access tokenpublic static OAuth2Credentials create(AccessToken accessToken)
accessToken
- the access tokenpublic String getAuthenticationType()
getAuthenticationType
in class Credentials
public boolean hasRequestMetadata()
hasRequestMetadata
in class Credentials
public boolean hasRequestMetadataOnly()
hasRequestMetadataOnly
in class Credentials
public final AccessToken getAccessToken()
If not set, you should call refresh()
to fetch and cache an access token.
public void getRequestMetadata(URI uri, Executor executor, RequestMetadataCallback callback)
getRequestMetadata
in class Credentials
public Map<String,List<String>> getRequestMetadata(URI uri) throws IOException
getRequestMetadata
in class Credentials
IOException
public void refresh() throws IOException
refresh
in class Credentials
IOException
public void refreshIfExpired() throws IOException
IOException
- during token refresh.public AccessToken refreshAccessToken() throws IOException
Throws IllegalStateException if not overridden since direct use of OAuth2Credentials is only for temporary or non-refreshing access tokens.
IOException
- from derived implementationspublic final void addChangeListener(OAuth2Credentials.CredentialsChangedListener listener)
This is called when token content changes, such as when the access token is refreshed. This is typically used by code caching the access token.
listener
- The listener to be added.public final void removeChangeListener(OAuth2Credentials.CredentialsChangedListener listener)
listener
- The listener to be removed.protected static <T> T newInstance(String className) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
protected static <T> T getFromServiceLoader(Class<? extends T> clazz, T defaultInstance)
public static OAuth2Credentials.Builder newBuilder()
public OAuth2Credentials.Builder toBuilder()
Copyright © 2019 Google. All rights reserved.