//The consumer object was lost because the browser got into foreground, need to instantiate it again with your apps token and secret. consumer = new CommonsHttpOAuthConsumer("xxx", "yyy"); //Set the requestToken and the tokenSecret that you got earlier by calling retrieveRequestToken. consumer.setTokenWithSecret(requestToken, tokenSecret); //The provider object is lost, too, so instantiate it again. provider = new CommonsHttpOAuthProvider("https://api.twitter.com/oauth/request_token", "https://api.twitter.com/oauth/access_token", "https://api.twitter.com/oauth/authorize"); //Now that's really important. Because you don't perform the retrieveRequestToken method at this moment, the OAuth method is not detected automatically (there is no communication with Twitter). So, the default is 1.0 which is wrong because the initial request was performed with 1.0a. provider.setOAuth10a(true); provider.retrieveAccessToken(consumer, verifier);
private void buildConsumer() { if (consumer_key != null && consumer_secret != null && access_token != null && token_secret != null) { consumer = new CommonsHttpOAuthConsumer(consumer_key, consumer_secret); consumer.setMessageSigner(new HmacSha1MessageSigner()); consumer.setTokenWithSecret(access_token, token_secret); } }
httpOauthConsumer = new CommonsHttpOAuthConsumer(consumerKey, consumerSecret); httpOauthprovider = new DefaultOAuthProvider( a = new AccessToken(httpOauthConsumer.getToken(), httpOauthConsumer.getTokenSecret()); twitter = new TwitterFactory().getInstance(); twitter.setOAuthConsumer(consumerKey, consumerSecret);
try { myConsumer = new CommonsHttpOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET); myConsumer.setMessageSigner(new HmacSha1MessageSigner()); CALLBACK_URL); requestToken = myConsumer.getToken(); startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(aUrl))); } catch (Exception ex) { try { myProvider.retrieveAccessToken(myConsumer, pin); accessToken = myConsumer.getToken(); myConsumer.sign(request); } catch (OAuthMessageSignerException e1) {
@Override public HttpRequest sign(HttpRequest request, String key, String secret) throws LtiSigningException { CommonsHttpOAuthConsumer signer = new CommonsHttpOAuthConsumer(key, secret); try { String body = getRequestBody(request); String bodyHash = new String(Base64.encodeBase64(md.digest(body.getBytes()))); HttpParameters params = new HttpParameters(); params.put("oauth_body_hash", URLEncoder.encode(bodyHash, "UTF-8")); signer.setAdditionalParameters(params); signer.sign(request); } catch (OAuthMessageSignerException|OAuthExpectationFailedException|OAuthCommunicationException|IOException e) { throw new LtiSigningException("Exception encountered while singing Lti request...", e); } return request; }
oAuthConsumer.sign(request);
@Override protected Void doInBackground(Void... params) { try { oAuthProvider.retrieveAccessToken(oAuthConsumer, verifier); // Store token in preferences for future use SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity); Editor editor = prefs.edit(); editor.putString(OSMTracker.Preferences.KEY_OSM_OAUTH_TOKEN, oAuthConsumer.getToken()); editor.putString(OSMTracker.Preferences.KEY_OSM_OAUTH_SECRET, oAuthConsumer.getTokenSecret()); editor.commit(); } catch (OAuthException oe) { Log.e(TAG, "Could not retrieve access token", oe); oAuthException = oe; cancel(false); } return null; }
/** * Either starts uploading directly if we are authenticated against OpenStreetMap, * or ask the user to authenticate via the browser. */ private void startUpload() { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); if ( prefs.contains(OSMTracker.Preferences.KEY_OSM_OAUTH_TOKEN) && prefs.contains(OSMTracker.Preferences.KEY_OSM_OAUTH_SECRET)) { // Re-use saved token oAuthConsumer.setTokenWithSecret( prefs.getString(OSMTracker.Preferences.KEY_OSM_OAUTH_TOKEN, ""), prefs.getString(OSMTracker.Preferences.KEY_OSM_OAUTH_SECRET, "")); uploadToOsm(); } else { // Open browser and request token new RetrieveRequestTokenTask(this, oAuthProvider, oAuthConsumer, OAUTH_CALLBACK_URL+trackId).execute(); } }
setContentView(R.layout.activity_main); this.mainConsumer = new CommonsHttpOAuthConsumer(YAHOO_CONSUMER_KEY, YAHOO_CONSUMER_SECRET); this.mainProvider = new CommonsHttpOAuthProvider(REQUEST_TOKEN_ENDPOINT_URL, ACCESS_TOKEN_ENDPOINT_URL, AUTHORIZE_WEBSITE_URL); "Token = " + mainConsumer.getToken() + "<br>" + "secret = " + mainConsumer.getTokenSecret() + "<br>" + "oauth_expires_in = " + mainProvider.getResponseParameters().getFirst("oauth_expires_in") + "<br>" + "oauth_session_handle = " + mainProvider.getResponseParameters().getFirst("oauth_session_handle") + "<br>" +
try { myConsumer = new CommonsHttpOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET); myConsumer.setMessageSigner(new HmacSha1MessageSigner()); CALLBACK_URL); requestToken = myConsumer.getToken(); startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(aUrl))); } catch (Exception ex) { try { myProvider.retrieveAccessToken(myConsumer, pin); accessToken = myConsumer.getToken(); myConsumer.sign(request); } catch (OAuthMessageSignerException e1) {
public static HttpPost buildReplaceResult(String url, String key, String secret, String sourcedid, String score, String resultData, Boolean isUrl, String messageId) throws IOException, OAuthException, GeneralSecurityException { String dataXml = ""; if (resultData != null) { String format = isUrl ? resultDataUrl : resultDataText; dataXml = String.format(format, StringEscapeUtils.escapeXml(resultData)); } String messageIdentifier = StringUtils.isBlank(messageId) ? String.valueOf(new Date().getTime()) : messageId; String xml = String.format(ReplaceResultMessageTemplate, StringEscapeUtils.escapeXml(messageIdentifier), StringEscapeUtils.escapeXml(sourcedid), StringEscapeUtils.escapeXml(score), dataXml); HttpParameters parameters = new HttpParameters(); String hash = getBodyHash(xml); parameters.put("oauth_body_hash", URLEncoder.encode(hash, "UTF-8")); CommonsHttpOAuthConsumer signer = new CommonsHttpOAuthConsumer(key, secret); HttpPost request = new HttpPost(url); request.setHeader("Content-Type", "application/xml"); request.setEntity(new StringEntity(xml, "UTF-8")); signer.setAdditionalParameters(parameters); signer.sign(request); return request; }
public void signRequest(HttpRequest request) { int retries = 3; if (consumer == null) { buildConsumer(); } while (retries-- > 0) { try { if (consumer != null) { // We need to remove the previous Authorization header // because signpost fails to sign a second time otherwise. request.removeHeaders("Authorization"); consumer.sign(request); return; } } catch (OAuthException e) { e.printStackTrace(); } login(); } }
@Override protected OAuthConsumer buildOAuthConsumer( String apiAccessKey, String apiAccessSecret ) { return new CommonsHttpOAuthConsumer( apiAccessKey, apiAccessSecret ); }
mSecretKey = secretKey; mHttpOauthConsumer = new CommonsHttpOAuthConsumer(mConsumerKey, mSecretKey); builder.setOAuthConsumerKey("your consumer key"); builder.setOAuthConsumerSecret("your secret key") .setOAuthAccessToken(mHttpOauthConsumer.getToken()) .setOAuthAccessTokenSecret(mHttpOauthConsumer.getTokenSecret());; Configuration configuration = builder.build(); TwitterFactory twi=new TwitterFactory(configuration); mHttpOauthConsumer.getToken(), mHttpOauthConsumer.getTokenSecret());
request.getOAuthConsumer().sign(httpRequest);
/** * Construct a new {@link OAuthSecurityProvider} using the given OAUTH key and secret. * * @param key * the OAUTH key * @param secret * the OAUTH secret */ public OAuthSecurityProvider(String key, String secret) { this(new CommonsHttpOAuthConsumer(key, secret)); }
mSecretKey = secretKey; mHttpOauthConsumer = new CommonsHttpOAuthConsumer(mConsumerKey, mSecretKey); mHttpOauthprovider = new DefaultOAuthProvider(REQUEST_URL,ACCESS_URL,AUTHORIZE_URL); mHttpOauthprovider.retrieveAccessToken(mHttpOauthConsumer, verifier); mAccessToken = new AccessToken(mHttpOauthConsumer.getToken(), mHttpOauthConsumer.getTokenSecret());
request.getOAuthConsumer().sign(httpRequest);
@Override protected OAuthConsumer buildOAuthConsumer( String apiAccessKey, String apiAccessSecret ) { return new CommonsHttpOAuthConsumer( apiAccessKey, apiAccessSecret ); }
@Override protected OAuthConsumer buildOAuthConsumer(String apiAccessKey, String apiAccessSecret) { return new CommonsHttpOAuthConsumer(apiAccessKey, apiAccessSecret); }