Search in sources :

Example 21 with Builder

use of com.google.api.client.auth.oauth2.AuthorizationCodeFlow.Builder in project ezyfox-examples by tvd12.

the class GoogleService method getUserInfoByAccessToken.

@Override
public Userinfo getUserInfoByAccessToken(String accessTokenStr) {
    Credential credential = new Credential(BearerToken.authorizationHeaderAccessMethod()).setAccessToken(accessTokenStr);
    Oauth2 oauth2 = new Oauth2.Builder(new NetHttpTransport(), new GsonFactory(), credential).setApplicationName("Oauth2").build();
    try {
        return oauth2.userinfo().get().execute();
    } catch (Exception e) {
        logger.info("get google user information by access token error", e);
        return null;
    }
}
Also used : Credential(com.google.api.client.auth.oauth2.Credential) GsonFactory(com.google.api.client.json.gson.GsonFactory) NetHttpTransport(com.google.api.client.http.javanet.NetHttpTransport) Oauth2(com.google.api.services.oauth2.Oauth2) EzyMapBuilder(com.tvd12.ezyfox.util.EzyMapBuilder)

Example 22 with Builder

use of com.google.api.client.auth.oauth2.AuthorizationCodeFlow.Builder in project bible-online by m0ver.

the class login method oAuth2callback.

public String oAuth2callback() throws ApplicationException {
    HttpServletRequest request = (HttpServletRequest) this.context.getAttribute(HTTP_REQUEST);
    HttpServletResponse response = (HttpServletResponse) this.context.getAttribute(HTTP_RESPONSE);
    Reforward reforward = new Reforward(request, response);
    TokenResponse oauth2_response;
    try {
        if (this.getVariable("google_client_secrets") == null) {
            clientSecrets = GoogleClientSecrets.load(JSON_FACTORY, new InputStreamReader(login.class.getResourceAsStream("/clients_secrets.json")));
            if (clientSecrets.getDetails().getClientId().startsWith("Enter") || clientSecrets.getDetails().getClientSecret().startsWith("Enter ")) {
                System.out.println("Enter Client ID and Secret from https://code.google.com/apis/console/ ");
            }
            this.setVariable(new ObjectVariable("google_client_secrets", clientSecrets), false);
        } else
            clientSecrets = (GoogleClientSecrets) this.getVariable("google_client_secrets").getValue();
        GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(GoogleNetHttpTransport.newTrustedTransport(), JSON_FACTORY, clientSecrets, SCOPES).build();
        oauth2_response = flow.newTokenRequest(request.getParameter("code")).setRedirectUri(this.getLink("oauth2callback")).execute();
        System.out.println("Ok:" + oauth2_response.toString());
    } catch (IOException e1) {
        // TODO Auto-generated catch block
        throw new ApplicationException(e1.getMessage(), e1);
    } catch (GeneralSecurityException e) {
        // TODO Auto-generated catch block
        throw new ApplicationException(e.getMessage(), e);
    }
    try {
        HttpClient httpClient = new DefaultHttpClient();
        String url = "https://www.google.com/m8/feeds/contacts/default/full";
        url = "https://www.googleapis.com/oauth2/v1/userinfo";
        HttpGet httpget = new HttpGet(url + "?access_token=" + oauth2_response.getAccessToken());
        httpClient.getParams().setParameter(HttpProtocolParams.HTTP_CONTENT_CHARSET, "UTF-8");
        HttpResponse http_response = httpClient.execute(httpget);
        HeaderIterator iterator = http_response.headerIterator();
        while (iterator.hasNext()) {
            Header next = iterator.nextHeader();
            System.out.println(next.getName() + ":" + next.getValue());
        }
        com.google.api.client.http.HttpTransport h;
        InputStream instream = http_response.getEntity().getContent();
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        byte[] bytes = new byte[1024];
        int len;
        while ((len = instream.read(bytes)) != -1) {
            out.write(bytes, 0, len);
        }
        instream.close();
        out.close();
        Struct struct = new Builder();
        struct.parse(new String(out.toByteArray(), "utf-8"));
        this.usr = new User();
        this.usr.setEmail(struct.toData().getFieldInfo("email").stringValue());
        if (this.usr.findOneByKey("email", this.usr.getEmail()).size() == 0) {
            usr.setPassword("");
            usr.setUsername(usr.getEmail());
            usr.setLastloginIP(request.getRemoteAddr());
            usr.setLastloginTime(new Date());
            usr.setRegistrationTime(new Date());
            usr.append();
        }
        new passport(request, response, "waslogined").setLoginAsUser(this.usr.getId());
        reforward.setDefault(URLDecoder.decode(this.getVariable("from").getValue().toString(), "utf8"));
        reforward.forward();
        return new String(out.toByteArray(), "utf-8");
    } catch (ClientProtocolException e) {
        throw new ApplicationException(e.getMessage(), e);
    } catch (IOException e) {
        throw new ApplicationException(e.getMessage(), e);
    } catch (ParseException e) {
        throw new ApplicationException(e.getMessage(), e);
    }
}
Also used : User(custom.objects.User) HttpGet(org.apache.http.client.methods.HttpGet) Builder(org.tinystruct.data.component.Builder) DefaultHttpClient(org.apache.http.impl.client.DefaultHttpClient) Struct(org.tinystruct.data.component.Struct) ClientProtocolException(org.apache.http.client.ClientProtocolException) HttpServletRequest(javax.servlet.http.HttpServletRequest) ObjectVariable(org.tinystruct.system.template.variable.ObjectVariable) GoogleClientSecrets(com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets) GeneralSecurityException(java.security.GeneralSecurityException) GoogleAuthorizationCodeFlow(com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow) HttpServletResponse(javax.servlet.http.HttpServletResponse) HttpResponse(org.apache.http.HttpResponse) Date(java.util.Date) ApplicationException(org.tinystruct.ApplicationException) TokenResponse(com.google.api.client.auth.oauth2.TokenResponse) Header(org.apache.http.Header) Reforward(org.tinystruct.handler.Reforward) DefaultHttpClient(org.apache.http.impl.client.DefaultHttpClient) HttpClient(org.apache.http.client.HttpClient) HeaderIterator(org.apache.http.HeaderIterator) ParseException(org.apache.http.ParseException)

Aggregations

Credential (com.google.api.client.auth.oauth2.Credential)17 IOException (java.io.IOException)7 OfflineCredentials (com.google.api.ads.common.lib.auth.OfflineCredentials)5 AuthorizationCodeFlow (com.google.api.client.auth.oauth2.AuthorizationCodeFlow)5 AdWordsSession (com.google.api.ads.adwords.lib.client.AdWordsSession)4 MockHttpIntegrationTest (com.google.api.ads.common.lib.testing.MockHttpIntegrationTest)4 ClientParametersAuthentication (com.google.api.client.auth.oauth2.ClientParametersAuthentication)4 AuthorizationCodeInstalledApp (com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp)4 GoogleAuthorizationCodeFlow (com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow)4 Test (org.junit.Test)4 ApiError (com.google.api.ads.adwords.axis.v201809.cm.ApiError)3 ApiException (com.google.api.ads.adwords.axis.v201809.cm.ApiException)3 AdWordsServicesInterface (com.google.api.ads.adwords.lib.factory.AdWordsServicesInterface)3 ConfigurationLoadException (com.google.api.ads.common.lib.conf.ConfigurationLoadException)3 OAuthException (com.google.api.ads.common.lib.exception.OAuthException)3 ValidationException (com.google.api.ads.common.lib.exception.ValidationException)3 AuthorizationCodeTokenRequest (com.google.api.client.auth.oauth2.AuthorizationCodeTokenRequest)3 LocalServerReceiver (com.google.api.client.extensions.jetty.auth.oauth2.LocalServerReceiver)3 GoogleCredential (com.google.api.client.googleapis.auth.oauth2.GoogleCredential)3 GoogleNetHttpTransport (com.google.api.client.googleapis.javanet.GoogleNetHttpTransport)3