コード例 #1
0
  public static void main(String... args) {
    // Replace these with your own api key and secret
    final String apiKey = "your_api_key";
    final String apiSecret = "your_api_secret";
    final OAuth20Service service =
        new ServiceBuilder()
            .apiKey(apiKey)
            .apiSecret(apiSecret)
            .callback("http://www.dajie.com/oauth/sina")
            .build(SinaWeiboApi20.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();
    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 String code = in.nextLine();
    System.out.println();

    // Trade the Request Token and Verifier for the Access Token
    System.out.println("Trading the Request Token for an Access Token...");
    final OAuth2AccessToken accessToken = service.getAccessToken(code);
    System.out.println("Got the Access Token!");
    System.out.println(
        "(if your curious it looks like this: "
            + accessToken
            + ", 'rawResponse'='"
            + accessToken.getRawResponse()
            + "')");
    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);
    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(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);
    }
  }
コード例 #3
0
 public void createAuthToken(String code) {
   authToken = service.getAccessToken(code);
 }
コード例 #4
0
  public static void main(String... args) {
    // Replace these with your client id and secret
    final String clientId = "your client id";
    final String clientSecret = "your client secret";
    final String secretState = "secret" + new Random().nextInt(999_999);
    final OAuth20Service service =
        new ServiceBuilder()
            .apiKey(clientId)
            .apiSecret(clientSecret)
            .state(secretState)
            .callback("http://www.example.com/oauth_callback/")
            .build(GitHubApi.instance());
    final Scanner in = new Scanner(System.in, "UTF-8");

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

    System.out.println(
        "And paste the state from server here. We have set 'secretState'='" + secretState + "'.");
    System.out.print(">>");
    final String value = in.nextLine();
    if (secretState.equals(value)) {
      System.out.println("State value does match!");
    } else {
      System.out.println("Ooops, state value does not match!");
      System.out.println("Expected = " + secretState);
      System.out.println("Got      = " + value);
      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(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);
    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! :)");
  }