/** * Creates offline-friendly auth object using a credential object. * * Use this method when your application has already performed the oauth * flow and needs to store and use the credential later in an offline * manner (e.g., via Google Cloud Dataflow). * * @param credential The credential to be used for requests. */ public OfflineAuth(Credential credential) { Preconditions.checkNotNull(credential); ClientParametersAuthentication clientParams = (ClientParametersAuthentication) credential.getClientAuthentication(); this.clientId = clientParams.getClientId(); this.clientSecret = clientParams.getClientSecret(); this.refreshToken = credential.getRefreshToken(); }
/** * Tests generating OAuth2 credentials. */ @Test public void testGenerateCredential_defaultTransport() throws Exception { OfflineCredentials offlineCredentials = new OfflineCredentials.Builder(oAuth2Helper) .forApi(OfflineCredentials.Api.AD_MANAGER) .withClientSecrets("clientId", "clientSecret") .withRefreshToken("refreshToken") .build(); when(oAuth2Helper.callRefreshToken(Mockito.<Credential>anyObject())).thenReturn(true); Credential credential = offlineCredentials.generateCredential(); assertEquals( "clientId", ((ClientParametersAuthentication) credential.getClientAuthentication()).getClientId()); assertEquals( "clientSecret", ((ClientParametersAuthentication) credential.getClientAuthentication()).getClientSecret()); assertEquals("refreshToken", credential.getRefreshToken()); assertSame(ForApiBuilder.DEFAULT_HTTP_TRANSPORT, credential.getTransport()); }
/** * Tests generating OAuth2 credentials. */ @Test public void testGenerateCredential() throws Exception { HttpTransport httpTransport = new NetHttpTransport(); OfflineCredentials offlineCredentials = new OfflineCredentials.Builder(oAuth2Helper) .forApi(OfflineCredentials.Api.AD_MANAGER) .withClientSecrets("clientId", "clientSecret") .withRefreshToken("refreshToken") .withHttpTransport(httpTransport) .build(); when(oAuth2Helper.callRefreshToken(Mockito.<Credential>anyObject())).thenReturn(true); Credential credential = offlineCredentials.generateCredential(); assertEquals( "clientId", ((ClientParametersAuthentication) credential.getClientAuthentication()).getClientId()); assertEquals( "clientSecret", ((ClientParametersAuthentication) credential.getClientAuthentication()).getClientSecret()); assertEquals("refreshToken", credential.getRefreshToken()); assertSame(httpTransport, credential.getTransport()); }