Example usage for com.google.api.client.googleapis.auth.oauth2 GoogleTokenResponse getIdToken

List of usage examples for com.google.api.client.googleapis.auth.oauth2 GoogleTokenResponse getIdToken

Introduction

In this page you can find the example usage for com.google.api.client.googleapis.auth.oauth2 GoogleTokenResponse getIdToken.

Prototype

@Beta
public final String getIdToken() 

Source Link

Document

Beta
Returns the ID token.

Usage

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;
}