List of usage examples for com.google.api.client.googleapis.auth.oauth2 GoogleTokenResponse getIdToken
@Beta public final String getIdToken()
From source file:bean.GoogleOpenIdHelper.java
public String getToken(final String authCode) throws IOException { String url = "https://www.googleapis.com/oauth2/v4/token?" + "code=" + authCode + "&" + "client_id=" + CLIENT_ID + "&" + "client_secret=" + CLIENT_SECRET + "&" + "redirect_uri=" + OPEN_CALLBACK_URI + "&" + "grant_type=authorization_code"; GoogleTokenResponse tokenResponse = new GoogleAuthorizationCodeTokenRequest(new NetHttpTransport(), JacksonFactory.getDefaultInstance(), "https://www.googleapis.com/oauth2/v4/token", CLIENT_ID, CLIENT_SECRET, authCode, CALLBACK_URI).execute(); String token = tokenResponse.getIdToken(); return token; /*GoogleIdToken idToken = tokenResponse.parseIdToken(); GoogleIdToken.Payload payload = idToken.getPayload(); String userId = payload.getSubject(); // Use this value as a key to identify a user. String email = payload.getEmail();//from w w w. j a v a 2s . c o m boolean emailVerified = Boolean.valueOf(payload.getEmailVerified()); String name = (String) payload.get("name"); String pictureUrl = (String) payload.get("picture"); String locale = (String) payload.get("locale"); String familyName = (String) payload.get("family_name"); String givenName = (String) payload.get("given_name"); return userId +"- "+ email+"-"+name+"-"+pictureUrl+"-"+locale+"-"+familyName+"-"+givenName ;*/ }
From source file:com.traveloka.sonarqube.plugin.GoogleIdentityProvider.java
License:Open Source License
@Override public void callback(CallbackContext context) { context.verifyCsrfState();/*from w ww. java 2s . c o m*/ HttpServletRequest request = context.getRequest(); String code = null; try { code = request.getParameter("code"); } catch (NullPointerException e) { throw new IllegalStateException("Authorization Code Fail", e); } JsonFactory jsonFactory = new JacksonFactory(); GoogleTokenResponse tokenResponse; try { tokenResponse = new GoogleAuthorizationCodeTokenRequest(new NetHttpTransport(), jsonFactory, settings.clientId(), settings.clientSecret(), code, settings.redirectUri()).execute(); } catch (IOException e) { throw new IllegalStateException("Authorization Token Fail", e); } GoogleIdToken googleIdToken; String idToken = tokenResponse.getIdToken(); try { googleIdToken = GoogleIdToken.parse(jsonFactory, idToken); } catch (IOException e) { throw new IllegalStateException("ID Token Fail", e); } if (!googleIdToken.getPayload().getHostedDomain().equals(settings.hostedDomain()) || !googleIdToken.getPayload().getEmailVerified()) throw new UnauthorizedException("You must be a verified member of traveloka"); String email = googleIdToken.getPayload().getEmail(); String userName = email.substring(0, email.indexOf('@')); UserIdentity userIdentity = UserIdentity.builder().setProviderLogin(userName).setLogin(userName) .setName(userName).setEmail(googleIdToken.getPayload().getEmail()).build(); context.authenticate(userIdentity); context.redirectToRequestedPage(); }
From source file:me.emily.oauth2.OAuth2Native.java
License:Apache License
public Credential authorize(String code, Iterable<String> scopes) throws IOException { GoogleAuthorizationCodeFlow flow = startFlow(scopes); GoogleTokenResponse response = flow.newTokenRequest(code) .setRedirectUri(GoogleOAuthConstants.OOB_REDIRECT_URI).execute(); log.info("/------------ Response "); log.info("| Id: {}", response.getIdToken()); log.info("| Token: {}", response.getAccessToken()); log.info("| Refresh token: {}", response.getRefreshToken()); log.info("| Expiry: {}", response.getExpiresInSeconds()); log.info("| Type: {}", response.getTokenType()); log.info("| Scope: {}", response.getScope()); for (Map.Entry<String, Object> entry : response.getUnknownKeys().entrySet()) { log.info("| {}: {}", entry.getKey(), entry.getValue()); }/*from w w w. j a v a 2 s. c o m*/ log.info("\\------------"); Credential creds = flow.createAndStoreCredential(response, null); return creds; }