package org.oauth2.client; import java.util.Scanner; import org.junit.Test; import org.oauth2.client4j.builder.OAuthServiceBuilder; import org.oauth2.client4j.builder.provider.DoubanProvider; import org.oauth2.client4j.builder.provider.GoogleProvider; import org.oauth2.client4j.builder.provider.RenRenProvider; import org.oauth2.client4j.builder.provider.SinaWeiboProvider; import org.oauth2.client4j.builder.provider.TaobaoProvider; import org.oauth2.client4j.http.HttpClient4; import org.oauth2.client4j.http.response.DoubanAcessTokenResponse; import org.oauth2.client4j.http.response.GoogleAccessTokenResponse; import org.oauth2.client4j.http.response.RenRenAccessTokenResponse; import org.oauth2.client4j.http.response.SinaWeiboAccessTokenResponse; import org.oauth2.client4j.http.response.TaobaoAccessTokenResponse; import org.oauth2.client4j.service.OAuthService; import org.oauth2.client4j.utils.SSLUtils; public class OAuthTest { OAuthService serviceDouban = new OAuthServiceBuilder() // .customHttpClient(new // HttpClient4(SSLUtils.createSSLInsecureClient())) .provider(DoubanProvider.class) .apiKey("09f9ec208d9a4d2c1dedc461a8cee784") .apiSecret("0fccff82381019f7") .callback("http://www.doubannote.org/oauth?type=douban").build(); OAuthService serviceSina = new OAuthServiceBuilder() .provider(SinaWeiboProvider.class).apiKey("323818099") .apiSecret("6dcfc13d57bbd54fec2066ed66f1a6aa") .callback("http://www.doubannote.org/oauth?type=weibo").build(); OAuthService serviceRenRen = new OAuthServiceBuilder() .provider(RenRenProvider.class) .apiKey("7c8cbafca7b9446cb49d7a8b1bc19f04") .apiSecret("ec87e568d06144f28973b6236a541fae") .callback("http://www.doubannote.org/oauth?type=renren").build(); OAuthService serviceGoogle = new OAuthServiceBuilder() .provider(GoogleProvider.class) .apiKey("1006533457776.apps.googleusercontent.com") .apiSecret("RRrLqKVX3pbwk0TYc5V4T37o") .callback("http://www.doubannote.org/oauth?type=google") .scope("openid email").build(); OAuthService serviceTaobao = new OAuthServiceBuilder() .customHttpClient(new HttpClient4(SSLUtils.createSSLInsecureClient())) .provider(TaobaoProvider.class) .apiKey("21683351") .apiSecret("832ab1d7e0b50fbc5b92c7362e8a26d1") .callback("http://www.doubannote.org/oauth?type=taobao").build(); public void testDouban() { System.out.println(serviceDouban.getAuthorizationRequest() .getLocationUri()); System.out.println("Input the code from your browser>>"); Scanner in = new Scanner(System.in); String code = in.nextLine(); in.close(); DoubanAcessTokenResponse response = serviceDouban.accessToken(code, DoubanAcessTokenResponse.class); System.out.println(response.getDoubanToken().getAccess_token()); } public void testSinaWeibo() { System.out.println(serviceSina.getAuthorizationRequest() .getLocationUri()); System.out.println("Input the code from your browser>>"); Scanner in = new Scanner(System.in); String code = in.nextLine(); in.close(); SinaWeiboAccessTokenResponse response = (SinaWeiboAccessTokenResponse) serviceSina .accessToken(code); System.out.println(response.getWeiboToken().getAccess_token()); } public void testRenRen() { System.out.println(serviceRenRen.getAuthorizationRequest() .getLocationUri()); System.out.println("Input the code from your browser>>"); Scanner in = new Scanner(System.in); String code = in.nextLine(); in.close(); RenRenAccessTokenResponse response = serviceRenRen.accessToken(code, RenRenAccessTokenResponse.class); System.out.println(response.getRenRenToken().getAccess_token()); } public void testGoogle() { System.out.println(serviceGoogle.getAuthorizationRequest() .getLocationUri()); System.out.println("Input the code from your browser>>"); Scanner in = new Scanner(System.in); String code = in.nextLine(); in.close(); GoogleAccessTokenResponse response = serviceGoogle.accessToken(code, GoogleAccessTokenResponse.class); System.out.println(response.getGoogleToken().getAccess_token()); } public void testTaobao() { System.out.println(serviceTaobao.getAuthorizationRequest() .getLocationUri()); System.out.println("Input the code from your browser>>"); Scanner in = new Scanner(System.in); String code = in.nextLine(); in.close(); TaobaoAccessTokenResponse response = serviceTaobao.accessToken(code, TaobaoAccessTokenResponse.class); System.out.println(response.getTaobaoToken().getAccess_token()); } @Test public void test() { //testRenRen(); //testGoogle(); //testTaobao(); } }