@Override public GoogleCredential setRefreshToken(String refreshToken) { if (refreshToken != null) { Preconditions.checkArgument( getJsonFactory() != null && getTransport() != null && getClientAuthentication() != null, "Please use the Builder and call setJsonFactory, setTransport and setClientSecrets"); } return (GoogleCredential) super.setRefreshToken(refreshToken); }
private String getUserToken(GoogleCredential credential) throws IOException { log.debug("Fetching user access token"); final TokenRequest request = new RefreshTokenRequest( this.httpTransport, JSON_FACTORY, new GenericUrl(credential.getTokenServerEncodedUrl()), credential.getRefreshToken()) .setClientAuthentication(credential.getClientAuthentication()) .setRequestInitializer(credential); final TokenResponse response = request.execute(); return (String) response.get("id_token"); }
/** Builds a new Pubsub client and returns it. */ public static Pubsub getClient(final HttpTransport httpTransport, final JsonFactory jsonFactory) throws IOException { checkNotNull(httpTransport); checkNotNull(jsonFactory); GoogleCredential credential = GoogleCredential.getApplicationDefault(httpTransport, jsonFactory); if (credential.createScopedRequired()) { credential = credential.createScoped(PubsubScopes.all()); } if (credential.getClientAuthentication() != null) { System.out.println( "\n***Warning! You are not using service account credentials to " + "authenticate.\nYou need to use service account credentials for this example," + "\nsince user-level credentials do not have enough pubsub quota,\nand so you will run " + "out of PubSub quota very quickly.\nSee " + "https://developers.google.com/identity/protocols/application-default-credentials."); System.exit(1); } HttpRequestInitializer initializer = new RetryHttpInitializerWrapper(credential); return new Pubsub.Builder(httpTransport, jsonFactory, initializer) .setApplicationName(APP_NAME) .build(); }
/** * {@link Beta} <br/> * Create a builder from this credential. */ @Beta public Builder toBuilder() { Builder builder = new GoogleCredential.Builder() .setServiceAccountPrivateKey(serviceAccountPrivateKey) .setServiceAccountPrivateKeyId(serviceAccountPrivateKeyId) .setServiceAccountId(serviceAccountId) .setServiceAccountProjectId(serviceAccountProjectId) .setServiceAccountUser(serviceAccountUser) .setServiceAccountScopes(serviceAccountScopes) .setTokenServerEncodedUrl(getTokenServerEncodedUrl()) .setTransport(getTransport()) .setJsonFactory(getJsonFactory()) .setClock(getClock()); builder.setClientAuthentication(getClientAuthentication()); return builder; }
/** Create a new GoogleCredentialWithRetry from a GoogleCredential. */ public static GoogleCredentialWithRetry fromGoogleCredential(GoogleCredential credential) { GoogleCredential.Builder builder = new GoogleCredential.Builder() .setServiceAccountPrivateKey(credential.getServiceAccountPrivateKey()) .setServiceAccountPrivateKeyId(credential.getServiceAccountPrivateKeyId()) .setServiceAccountId(credential.getServiceAccountId()) .setServiceAccountUser(credential.getServiceAccountUser()) .setServiceAccountScopes(credential.getServiceAccountScopes()) .setTokenServerEncodedUrl(credential.getTokenServerEncodedUrl()) .setTransport(credential.getTransport()) .setClientAuthentication(credential.getClientAuthentication()) .setJsonFactory(credential.getJsonFactory()) .setClock(credential.getClock()) .setRequestInitializer(new CredentialHttpRetryInitializer()); GoogleCredentialWithRetry withRetry = new GoogleCredentialWithRetry(builder); // Setting a refresh token requires validation even if it is null. if (credential.getRefreshToken() != null) { withRetry.setRefreshToken(credential.getRefreshToken()); } return withRetry; }
/** Create a new GoogleCredentialWithRetry from a GoogleCredential. */ public static GoogleCredentialWithRetry fromGoogleCredential(GoogleCredential credential) { GoogleCredential.Builder builder = new GoogleCredential.Builder() .setServiceAccountPrivateKey(credential.getServiceAccountPrivateKey()) .setServiceAccountPrivateKeyId(credential.getServiceAccountPrivateKeyId()) .setServiceAccountId(credential.getServiceAccountId()) .setServiceAccountUser(credential.getServiceAccountUser()) .setServiceAccountScopes(credential.getServiceAccountScopes()) .setTokenServerEncodedUrl(credential.getTokenServerEncodedUrl()) .setTransport(credential.getTransport()) .setClientAuthentication(credential.getClientAuthentication()) .setJsonFactory(credential.getJsonFactory()) .setClock(credential.getClock()) .setRequestInitializer(new CredentialHttpRetryInitializer()); GoogleCredentialWithRetry withRetry = new GoogleCredentialWithRetry(builder); // Setting a refresh token requires validation even if it is null. if (credential.getRefreshToken() != null) { withRetry.setRefreshToken(credential.getRefreshToken()); } return withRetry; }