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