com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeTokenRequest Java Examples
The following examples show how to use
com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeTokenRequest.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: GuiMain.java From google-sites-liberation with Apache License 2.0 | 6 votes |
/** * Retrieve OAuth 2.0 credentials. * * @return OAuth 2.0 Credential instance. * @throws IOException */ private Credential getCredentials() throws IOException { String code = tokenField.getText(); HttpTransport transport = new NetHttpTransport(); JacksonFactory jsonFactory = new JacksonFactory(); String CLIENT_SECRET = "EPME5fbwiNLCcMsnj3jVoXeY"; // Step 2: Exchange --> GoogleTokenResponse response = new GoogleAuthorizationCodeTokenRequest( transport, jsonFactory, CLIENT_ID, CLIENT_SECRET, code, REDIRECT_URI).execute(); // End of Step 2 <-- // Build a new GoogleCredential instance and return it. return new GoogleCredential.Builder() .setClientSecrets(CLIENT_ID, CLIENT_SECRET) .setJsonFactory(jsonFactory).setTransport(transport).build() .setAccessToken(response.getAccessToken()) .setRefreshToken(response.getRefreshToken()); }
Example #2
Source File: ReportsFeature.java From appengine-tck with Apache License 2.0 | 6 votes |
protected void handleTokens(Map<String, String> params) { final GoogleClientSecrets secrets = new GoogleClientSecrets().setInstalled( new GoogleClientSecrets.Details(). setClientId(params.get(constants.getApplicationClientId())). setClientSecret(params.get(constants.getApplicationClientSecret())) ); try { final GoogleTokenResponse tokenResponse = new GoogleAuthorizationCodeTokenRequest( this.httpTransport, this.jsonFactory, secrets.getDetails().getClientId(), secrets.getDetails().getClientSecret(), params.get(constants.getApplicationOauthCode()), constants.getRedirectUri() ).execute(); params.put(constants.getApplicationRefreshToken(), tokenResponse.getRefreshToken()); params.put(constants.getApplicationAccessToken(), tokenResponse.getAccessToken()); } catch (IOException e) { throw new RuntimeException(e); } }
Example #3
Source File: CredentialManager.java From drivemarks with Apache License 2.0 | 6 votes |
/** * Retrieves a new access token by exchanging the given code with OAuth2 * end-points. * @param code Exchange code. * @return A credential object. */ public Credential retrieve(String code) { try { GoogleTokenResponse response = new GoogleAuthorizationCodeTokenRequest( transport, jsonFactory, clientSecrets.getWeb().getClientId(), clientSecrets.getWeb().getClientSecret(), code, clientSecrets.getWeb().getRedirectUris().get(0)).execute(); return buildEmpty().setAccessToken(response.getAccessToken()); } catch (IOException e) { new RuntimeException("An unknown problem occured while retrieving token"); } return null; }
Example #4
Source File: AdvancedCreateCredentialFromScratch.java From googleads-java-lib with Apache License 2.0 | 6 votes |
private static void authorize(DataStoreFactory storeFactory, String userId) throws Exception { // Depending on your application, there may be more appropriate ways of // performing the authorization flow (such as on a servlet), see // https://developers.google.com/api-client-library/java/google-api-java-client/oauth2#authorization_code_flow // for more information. GoogleAuthorizationCodeFlow authorizationFlow = new GoogleAuthorizationCodeFlow.Builder( new NetHttpTransport(), new JacksonFactory(), CLIENT_ID, CLIENT_SECRET, Arrays.asList(SCOPE)) .setDataStoreFactory(storeFactory) // Set the access type to offline so that the token can be refreshed. // By default, the library will automatically refresh tokens when it // can, but this can be turned off by setting // api.admanager.refreshOAuth2Token=false in your ads.properties file. .setAccessType("offline") .build(); String authorizeUrl = authorizationFlow.newAuthorizationUrl().setRedirectUri(CALLBACK_URL).build(); System.out.printf("Paste this url in your browser:%n%s%n", authorizeUrl); // Wait for the authorization code. System.out.println("Type the code you received here: "); @SuppressWarnings("DefaultCharset") // Reading from stdin, so default charset is appropriate. String authorizationCode = new BufferedReader(new InputStreamReader(System.in)).readLine(); // Authorize the OAuth2 token. GoogleAuthorizationCodeTokenRequest tokenRequest = authorizationFlow.newTokenRequest(authorizationCode); tokenRequest.setRedirectUri(CALLBACK_URL); GoogleTokenResponse tokenResponse = tokenRequest.execute(); // Store the credential for the user. authorizationFlow.createAndStoreCredential(tokenResponse, userId); }
Example #5
Source File: AdvancedCreateCredentialFromScratch.java From googleads-java-lib with Apache License 2.0 | 6 votes |
private static void authorize(DataStoreFactory storeFactory, String userId) throws Exception { // Depending on your application, there may be more appropriate ways of // performing the authorization flow (such as on a servlet), see // https://developers.google.com/api-client-library/java/google-api-java-client/oauth2#authorization_code_flow // for more information. GoogleAuthorizationCodeFlow authorizationFlow = new GoogleAuthorizationCodeFlow.Builder( new NetHttpTransport(), new JacksonFactory(), CLIENT_ID, CLIENT_SECRET, Arrays.asList(SCOPE)) .setDataStoreFactory(storeFactory) // Set the access type to offline so that the token can be refreshed. // By default, the library will automatically refresh tokens when it // can, but this can be turned off by setting // api.adwords.refreshOAuth2Token=false in your ads.properties file. .setAccessType("offline").build(); String authorizeUrl = authorizationFlow.newAuthorizationUrl().setRedirectUri(CALLBACK_URL).build(); System.out.printf("Paste this url in your browser:%n%s%n", authorizeUrl); // Wait for the authorization code. System.out.println("Type the code you received here: "); @SuppressWarnings("DefaultCharset") // Reading from stdin, so default charset is appropriate. String authorizationCode = new BufferedReader(new InputStreamReader(System.in)).readLine(); // Authorize the OAuth2 token. GoogleAuthorizationCodeTokenRequest tokenRequest = authorizationFlow.newTokenRequest(authorizationCode); tokenRequest.setRedirectUri(CALLBACK_URL); GoogleTokenResponse tokenResponse = tokenRequest.execute(); // Store the credential for the user. authorizationFlow.createAndStoreCredential(tokenResponse, userId); }
Example #6
Source File: GoogleCallback.java From liberty-bikes with Eclipse Public License 1.0 | 5 votes |
@GET @Counted(name = "num_google_logins", displayName = "Number of Google Logins", description = "How many times a user has logged in through Google Auth.", absolute = true) public Response getGoogleAuthURL(@Context HttpServletRequest request) throws IOException, URISyntaxException { // google calls us back at this app when a user has finished authing with them. // when it calls us back here, it passes an oauth_verifier token that we // can exchange for a google access token. GoogleAuthorizationCodeFlow flow = (GoogleAuthorizationCodeFlow) request.getSession().getAttribute("google"); if (flow == null) return failureRedirect("did not find 'google' attribute set in HTTP session. It should be set by GoogleAuth"); String code = request.getParameter("code"); //now we need to invoke the access_token endpoint to swap the code for a token. String callbackURL = config.authUrl + "/GoogleCallback"; Map<String, String> claims = new HashMap<String, String>(); try { GoogleAuthorizationCodeTokenRequest token = flow.newTokenRequest(code).setRedirectUri(callbackURL); GoogleTokenResponse gResponse = token.execute(); claims.putAll(introspectAuth(flow, gResponse)); } catch (IOException e) { e.printStackTrace(); } // if auth key was no longer valid, we won't build a JWT. Redirect back to start. if (!"true".equals(claims.get("valid"))) { return failureRedirect("claim was not valid"); } else { String newJwt = createJwt(claims); return Response.temporaryRedirect(new URI(config.frontendUrl + "/" + newJwt)).build(); } }
Example #7
Source File: GetRefreshToken.java From googleads-java-lib with Apache License 2.0 | 5 votes |
private static Credential getOAuth2Credential(GoogleClientSecrets clientSecrets) throws Exception { GoogleAuthorizationCodeFlow authorizationFlow = new GoogleAuthorizationCodeFlow.Builder( new NetHttpTransport(), new JacksonFactory(), clientSecrets, SCOPES) // Set the access type to offline so that the token can be refreshed. // By default, the library will automatically refresh tokens when it // can, but this can be turned off by setting // api.admanager.refreshOAuth2Token=false in your ads.properties file. .setAccessType("offline").build(); String authorizeUrl = authorizationFlow.newAuthorizationUrl().setRedirectUri(CALLBACK_URL).build(); System.out.printf("Paste this url in your browser:%n%s%n", authorizeUrl); // Wait for the authorization code. System.out.println("Type the code you received here: "); @SuppressWarnings("DefaultCharset") // Reading from stdin, so default charset is appropriate. String authorizationCode = new BufferedReader(new InputStreamReader(System.in)).readLine(); // Authorize the OAuth2 token. GoogleAuthorizationCodeTokenRequest tokenRequest = authorizationFlow.newTokenRequest(authorizationCode); tokenRequest.setRedirectUri(CALLBACK_URL); GoogleTokenResponse tokenResponse = tokenRequest.execute(); // Create the OAuth2 credential. GoogleCredential credential = new GoogleCredential.Builder() .setTransport(new NetHttpTransport()) .setJsonFactory(new JacksonFactory()) .setClientSecrets(clientSecrets) .build(); // Set authorized credentials. credential.setFromTokenResponse(tokenResponse); return credential; }
Example #8
Source File: GetRefreshTokenWithoutPropertiesFile.java From googleads-java-lib with Apache License 2.0 | 5 votes |
private static Credential getOAuth2Credential(GoogleClientSecrets clientSecrets) throws Exception { GoogleAuthorizationCodeFlow authorizationFlow = new GoogleAuthorizationCodeFlow.Builder( new NetHttpTransport(), new JacksonFactory(), clientSecrets, Arrays.asList(SCOPE)) // Set the access type to offline so that the token can be refreshed. // By default, the library will automatically refresh tokens when it // can, but this can be turned off by setting // api.admanager.refreshOAuth2Token=false in your ads.properties file. .setAccessType("offline").build(); String authorizeUrl = authorizationFlow.newAuthorizationUrl().setRedirectUri(CALLBACK_URL).build(); System.out.printf("Paste this url in your browser:%n%s%n", authorizeUrl); // Wait for the authorization code. System.out.println("Type the code you received here: "); @SuppressWarnings("DefaultCharset") // Reading from stdin, so default charset is appropriate. String authorizationCode = new BufferedReader(new InputStreamReader(System.in)).readLine(); // Authorize the OAuth2 token. GoogleAuthorizationCodeTokenRequest tokenRequest = authorizationFlow.newTokenRequest(authorizationCode); tokenRequest.setRedirectUri(CALLBACK_URL); GoogleTokenResponse tokenResponse = tokenRequest.execute(); // Create the OAuth2 credential. GoogleCredential credential = new GoogleCredential.Builder() .setTransport(new NetHttpTransport()) .setJsonFactory(new JacksonFactory()) .setClientSecrets(clientSecrets) .build(); // Set authorized credentials. credential.setFromTokenResponse(tokenResponse); return credential; }
Example #9
Source File: GetRefreshToken.java From googleads-java-lib with Apache License 2.0 | 5 votes |
private static Credential getOAuth2Credential(GoogleClientSecrets clientSecrets) throws IOException { GoogleAuthorizationCodeFlow authorizationFlow = new GoogleAuthorizationCodeFlow.Builder( new NetHttpTransport(), new JacksonFactory(), clientSecrets, SCOPES) // Set the access type to offline so that the token can be refreshed. // By default, the library will automatically refresh tokens when it // can, but this can be turned off by setting // api.adwords.refreshOAuth2Token=false in your ads.properties file. .setAccessType("offline").build(); String authorizeUrl = authorizationFlow.newAuthorizationUrl().setRedirectUri(CALLBACK_URL).build(); System.out.printf("Paste this url in your browser:%n%s%n", authorizeUrl); // Wait for the authorization code. System.out.println("Type the code you received here: "); @SuppressWarnings("DefaultCharset") // Reading from stdin, so default charset is appropriate. String authorizationCode = new BufferedReader(new InputStreamReader(System.in)).readLine(); // Authorize the OAuth2 token. GoogleAuthorizationCodeTokenRequest tokenRequest = authorizationFlow.newTokenRequest(authorizationCode); tokenRequest.setRedirectUri(CALLBACK_URL); GoogleTokenResponse tokenResponse = tokenRequest.execute(); // Create the OAuth2 credential. GoogleCredential credential = new GoogleCredential.Builder() .setTransport(new NetHttpTransport()) .setJsonFactory(new JacksonFactory()) .setClientSecrets(clientSecrets) .build(); // Set authorized credentials. credential.setFromTokenResponse(tokenResponse); return credential; }
Example #10
Source File: GetRefreshTokenWithoutPropertiesFile.java From googleads-java-lib with Apache License 2.0 | 5 votes |
private static Credential getOAuth2Credential(GoogleClientSecrets clientSecrets) throws IOException { GoogleAuthorizationCodeFlow authorizationFlow = new GoogleAuthorizationCodeFlow.Builder( new NetHttpTransport(), new JacksonFactory(), clientSecrets, Arrays.asList(SCOPE)) // Set the access type to offline so that the token can be refreshed. // By default, the library will automatically refresh tokens when it // can, but this can be turned off by setting // api.adwords.refreshOAuth2Token=false in your ads.properties file. .setAccessType("offline").build(); String authorizeUrl = authorizationFlow.newAuthorizationUrl().setRedirectUri(CALLBACK_URL).build(); System.out.printf("Paste this url in your browser:%n%s%n", authorizeUrl); // Wait for the authorization code. System.out.println("Type the code you received here: "); @SuppressWarnings("DefaultCharset") // Reading from stdin, so default charset is appropriate. String authorizationCode = new BufferedReader(new InputStreamReader(System.in)).readLine(); // Authorize the OAuth2 token. GoogleAuthorizationCodeTokenRequest tokenRequest = authorizationFlow.newTokenRequest(authorizationCode); tokenRequest.setRedirectUri(CALLBACK_URL); GoogleTokenResponse tokenResponse = tokenRequest.execute(); // Create the OAuth2 credential. GoogleCredential credential = new GoogleCredential.Builder() .setTransport(new NetHttpTransport()) .setJsonFactory(new JacksonFactory()) .setClientSecrets(clientSecrets) .build(); // Set authorized credentials. credential.setFromTokenResponse(tokenResponse); return credential; }
Example #11
Source File: InstalledOAuth2Authenticator.java From aw-reporting with Apache License 2.0 | 5 votes |
private Credential getNewOAuth2Credential() throws OAuthException { GoogleAuthorizationCodeFlow authorizationFlow = getAuthorizationFlow(); String authorizeUrl = authorizationFlow.newAuthorizationUrl().setRedirectUri(CALLBACK_URL).build(); System.out.println("\n**ACTION REQUIRED** Paste this url in your browser" + " and authenticate using your **AdWords Admin Account**: \n\n" + authorizeUrl + '\n'); // Wait for the authorization code. System.out.println("Type the code you received on the web page here: "); try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in, StandardCharsets.UTF_8))) { String authorizationCode = reader.readLine(); // Authorize the OAuth2 token. GoogleAuthorizationCodeTokenRequest tokenRequest = authorizationFlow.newTokenRequest(authorizationCode); tokenRequest.setRedirectUri(CALLBACK_URL); GoogleTokenResponse tokenResponse = tokenRequest.execute(); // Create the credential. Credential credential = new GoogleCredential.Builder() .setClientSecrets(clientId, clientSecret) .setJsonFactory(new JacksonFactory()) .setTransport(new NetHttpTransport()) .build() .setFromTokenResponse(tokenResponse); return credential; } catch (IOException e) { throw new OAuthException("An error occured obtaining the OAuth2Credential", e); } }
Example #12
Source File: AdWordsApiUtil.java From keyword-optimizer with Apache License 2.0 | 4 votes |
/** * Creates a new oauth2 credential based on the given client secrets. * * @param clientSecrets the client secrets (see developer console) * @return the newly created credential * @throws IOException in case of an error reading the configuration files */ private static Credential getOAuth2Credential(GoogleClientSecrets clientSecrets) throws IOException { GoogleAuthorizationCodeFlow authorizationFlow = new GoogleAuthorizationCodeFlow .Builder( new NetHttpTransport(), new JacksonFactory(), clientSecrets, Lists.newArrayList(SCOPE)) // Set the access type to offline so that the token can be refreshed. By default, the // library will automatically refresh tokens when it can, but this can be turned off by // setting api.adwords.refreshOAuth2Token=false in your ads.properties file. .setAccessType("offline") .build(); String authorizeUrl = authorizationFlow.newAuthorizationUrl().setRedirectUri(CALLBACK_URL).build(); System.out.println("Paste this url in your browser: \n" + authorizeUrl + '\n'); // Wait for the authorization code. System.out.println("Type the code you received here: "); String authorizationCode = new BufferedReader(new InputStreamReader(System.in, UTF_8)).readLine(); // Authorize the OAuth2 token. GoogleAuthorizationCodeTokenRequest tokenRequest = authorizationFlow.newTokenRequest(authorizationCode); tokenRequest.setRedirectUri(CALLBACK_URL); GoogleTokenResponse tokenResponse = tokenRequest.execute(); // Create the OAuth2 credential. GoogleCredential credential = new GoogleCredential.Builder() .setTransport(new NetHttpTransport()) .setJsonFactory(new JacksonFactory()) .setClientSecrets(clientSecrets) .build(); // Set authorized credentials. credential.setFromTokenResponse(tokenResponse); return credential; }
Example #13
Source File: InstalledOAuth2Authenticator.java From adwords-alerting with Apache License 2.0 | 4 votes |
/** * Get New Credentials from the user from the command line OAuth2 dance. */ private Credential getNewOAuth2Credential() throws OAuthException { GoogleAuthorizationCodeFlow authorizationFlow = getAuthorizationFlow(); String authorizeUrl = authorizationFlow.newAuthorizationUrl().setRedirectUri(CALLBACK_URL).build(); System.out.println("\n**ACTION REQUIRED** Paste this url in your browser" + " and authenticate using your **AdWords Admin Email**: \n" + authorizeUrl); // Wait for the authorization code. System.out.println("\nType the code you received on the web page here: "); try { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String authorizationCode = reader.readLine(); // Authorize the OAuth2 token. GoogleAuthorizationCodeTokenRequest tokenRequest = authorizationFlow.newTokenRequest(authorizationCode); tokenRequest.setRedirectUri(CALLBACK_URL); GoogleTokenResponse tokenResponse = tokenRequest.execute(); // Create the credential. Credential credential = new GoogleCredential.Builder() .setClientSecrets(clientId, clientSecret) .setJsonFactory(new JacksonFactory()) .setTransport(new NetHttpTransport()) .build() .setFromTokenResponse(tokenResponse); // Get refresh token and prompt to save in properties file refreshToken = credential.getRefreshToken(); System.out.println("\n**ACTION REQUIRED** Put the following line in your properties file to" + " avoid OAuth authentication next time."); System.out.printf("refreshToken=%s\n\n", refreshToken); System.out.println("Then press enter to continue..."); reader.readLine(); return credential; } catch (IOException e) { throw new OAuthException("An error occured obtaining the OAuth2Credential", e.getCause()); } }
Example #14
Source File: GoogleAuthorizationResponseServlet.java From spring-security-jwt with MIT License | 4 votes |
private GoogleTokenResponse exchangeCodeForAccessAndRefreshTokens(String code, String currentUrl) throws IOException { return new GoogleAuthorizationCodeTokenRequest(HTTP_TRANSPORT, JSON_FACTORY, appConfig.getGoogleClientId(), appConfig.getGoogleClientSecret(), code, currentUrl).execute(); }