コード例 #1
0
  public static void main(String... args) {
    final OAuth10aService service =
        new ServiceBuilder()
            .apiKey("anonymous")
            .apiSecret("anonymous")
            .scope(SCOPE)
            .build(GoogleApi.instance());
    final Scanner in = new Scanner(System.in);

    System.out.println("=== " + NETWORK_NAME + "'s OAuth Workflow ===");
    System.out.println();

    // Obtain the Request Token
    System.out.println("Fetching the Request Token...");
    final Token requestToken = service.getRequestToken();
    System.out.println("Got the Request Token!");
    System.out.println("(if your curious it looks like this: " + requestToken + " )");
    System.out.println();

    System.out.println("Now go and authorize ScribeJava here:");
    System.out.println(AUTHORIZE_URL + requestToken.getToken());
    System.out.println("And paste the verifier here");
    System.out.print(">>");
    final Verifier verifier = new Verifier(in.nextLine());
    System.out.println();

    // Trade the Request Token and Verfier for the Access Token
    System.out.println("Trading the Request Token for an Access Token...");
    final Token accessToken = service.getAccessToken(requestToken, verifier);
    System.out.println("Got the Access Token!");
    System.out.println("(if your curious it looks like this: " + accessToken + " )");
    System.out.println();

    // Now let's go and ask for a protected resource!
    System.out.println("Now we're going to access a protected resource...");
    final OAuthRequest request = new OAuthRequest(Verb.GET, PROTECTED_RESOURCE_URL, service);
    service.signRequest(accessToken, request);
    request.addHeader("GData-Version", "3.0");
    final Response response = request.send();
    System.out.println("Got it! Lets see what we found...");
    System.out.println();
    System.out.println(response.getCode());
    System.out.println(response.getBody());

    System.out.println();
    System.out.println("Thats it man! Go and build something awesome with ScribeJava! :)");
  }
コード例 #2
0
 @Override
 public void signRequest(final Token accessToken, final AbstractRequest request) {
   request.addHeader(
       "Authorization",
       accessToken != null
           ? "Bearer " + accessToken.getToken()
           : "Client-ID " + getConfig().getApiKey());
 }
コード例 #3
0
ファイル: OkClient.java プロジェクト: baxterj/pac4j
 @Override
 protected String getProfileUrl(Token accessToken) {
   String baseParams =
       "application_key=" + publicKey + "&format=json" + "&method=users.getCurrentUser";
   String finalSign;
   try {
     String preSign = getMD5SignAsHexString(accessToken.getToken() + getSecret());
     finalSign = getMD5SignAsHexString(baseParams.replaceAll("&", "") + preSign);
   } catch (Exception e) {
     logger.error(e.getMessage());
     return null;
   }
   return API_BASE_URL
       + baseParams
       + "&access_token="
       + accessToken.getToken()
       + "&sig="
       + finalSign;
 }
コード例 #4
0
 @Override
 /**
  * this method will ignore your callback if you're creating a desktop client please choose this
  * url else your can call getAuthenticateUrl
  *
  * <p>via
  * http://open.t.163.com/wiki/index.php?title=%E8%AF%B7%E6%B1%82%E7%94%A8%E6%88%B7%E6%8E%88%E6%9D%83Token(oauth/authorize)
  */
 public String getAuthorizationUrl(Token requestToken) {
   return String.format(AUTHORIZE_URL, requestToken.getToken());
 }
コード例 #5
0
  @Override
  public void signRequest(Token accessToken, AbstractRequest request) {
    // sig = md5( request_params_composed_string+ md5(access_token + application_secret_key)  )
    try {
      final String tokenDigest = md5Hex(accessToken.getToken() + getConfig().getApiSecret());

      final String completeUrl = request.getCompleteUrl();
      final int queryIndex = completeUrl.indexOf('?');
      if (queryIndex != -1) {
        final String sigSource =
            URLDecoder.decode(
                    completeUrl.substring(queryIndex + 1).replace("&", ""), CharEncoding.UTF_8)
                + tokenDigest;
        request.addQuerystringParameter("sig", md5Hex(sigSource));
      }

      super.signRequest(accessToken, request);
    } catch (UnsupportedEncodingException unex) {
      throw new IllegalStateException(unex);
    }
  }
コード例 #6
0
  public static void main(final String... args) {
    // Replace these with your own api key and secret
    final String apiKey = "your api key";
    final String apiSecret = "your api secret";
    final OAuthService service =
        new ServiceBuilder()
            .apiKey(apiKey)
            .apiSecret(apiSecret)
            .scope("status_update publish_feed")
            .callback("http://your.doman.com/oauth/renren")
            .build(RenrenApi.instance());
    final Scanner in = new Scanner(System.in);

    System.out.println("=== " + NETWORK_NAME + "'s OAuth Workflow ===");
    System.out.println();

    // Obtain the Authorization URL
    System.out.println("Fetching the Authorization URL...");
    final String authorizationUrl = service.getAuthorizationUrl(EMPTY_TOKEN);
    System.out.println("Got the Authorization URL!");
    System.out.println("Now go and authorize ScribeJava here:");
    System.out.println(authorizationUrl);
    System.out.println("And paste the authorization code here");
    System.out.print(">>");
    final Verifier verifier = new Verifier(in.nextLine());
    System.out.println();

    // Trade the Request Token and Verfier for the Access Token
    System.out.println("Trading the Request Token for an Access Token...");
    final Token accessToken = service.getAccessToken(EMPTY_TOKEN, verifier);
    System.out.println("Got the Access Token!");
    System.out.println("(if your curious it looks like this: " + accessToken + " )");
    System.out.println();

    // Now let's go and ask for a protected resource!
    System.out.println("Now we're going to access a protected resource...");
    final OAuthRequest request = new OAuthRequest(Verb.POST, PROTECTED_RESOURCE_URL, service);
    final Map<String, String> parameters = new HashMap<>();
    parameters.put("method", "users.getInfo");
    parameters.put("format", "json");
    parameters.put("v", "1.0");

    final List<String> sigString = new ArrayList<>(parameters.size() + 1);
    for (final Map.Entry<String, String> entry : parameters.entrySet()) {
      request.addQuerystringParameter(entry.getKey(), entry.getValue());
      sigString.add(String.format("%s=%s", entry.getKey(), entry.getValue()));
    }
    sigString.add(String.format("%s=%s", OAuthConstants.ACCESS_TOKEN, accessToken.getToken()));
    Collections.sort(sigString);
    final StringBuilder b = new StringBuilder();
    for (final String param : sigString) {
      b.append(param);
    }
    b.append(apiSecret);
    System.out.println("Sig string: " + b.toString());
    request.addQuerystringParameter("sig", md5(b.toString()));
    service.signRequest(accessToken, request);
    final Response response = request.send();
    System.out.println("Got it! Lets see what we found...");
    System.out.println();
    System.out.println(response.getCode());
    System.out.println(response.getBody());

    System.out.println();
    System.out.println("Thats it man! Go and build something awesome with ScribeJava! :)");
  }
コード例 #7
0
 /**
  * this method is for web client with callback url if you're creating a desktop client please call
  * getAuthorizationUrl
  *
  * <p>via
  * http://open.t.163.com/wiki/index.php?title=%E8%AF%B7%E6%B1%82%E7%94%A8%E6%88%B7%E6%8E%88%E6%9D%83Token(oauth/authenticate)
  *
  * @param requestToken Token
  * @return String
  */
 public String getAuthenticateUrl(Token requestToken) {
   return String.format(AUTHENTICATE_URL, requestToken.getToken());
 }
コード例 #8
0
ファイル: DropBoxApi.java プロジェクト: pdtyreus/scribejava
 @Override
 public String getAuthorizationUrl(Token requestToken) {
   return "https://www.dropbox.com/1/oauth/authorize?oauth_token=" + requestToken.getToken();
 }
コード例 #9
0
ファイル: LoveFilmApi.java プロジェクト: plutext/scribejava
 @Override
 public String getAuthorizationUrl(Token requestToken) {
   return String.format(AUTHORIZE_URL, requestToken.getToken());
 }