// sample from RFC https://tools.ietf.org/html/rfc5849#section-3.4.1 private void testSignatureBaseString(Request request) { ConsumerKey consumer = new ConsumerKey("9djdj82h48djs9d2", CONSUMER_SECRET); RequestToken user = new RequestToken("kkk9d7dh3k39sjv7", TOKEN_SECRET); OAuthSignatureCalculator calc = new OAuthSignatureCalculator(consumer, user); String signatureBaseString = calc.signatureBaseString( // request, // 137131201, // "7d8f3e4a") .toString(); assertEquals( signatureBaseString, "POST&" // + "http%3A%2F%2Fexample.com%2Frequest" // + "&a2%3Dr%2520b%26" // + "a3%3D2%2520q%26" + "a3%3Da%26" // + "b5%3D%253D%25253D%26" // + "c%2540%3D%26" // + "c2%3D%26" // + "oauth_consumer_key%3D9djdj82h48djs9d2%26" // + "oauth_nonce%3D7d8f3e4a%26" // + "oauth_signature_method%3DHMAC-SHA1%26" // + "oauth_timestamp%3D137131201%26" // + "oauth_token%3Dkkk9d7dh3k39sjv7%26" // + "oauth_version%3D1.0"); }
@Test public void testWithNullRequestToken() { ConsumerKey consumer = new ConsumerKey("9djdj82h48djs9d2", CONSUMER_SECRET); RequestToken user = new RequestToken(null, null); OAuthSignatureCalculator calc = new OAuthSignatureCalculator(consumer, user); final Request request = get("http://photos.example.net/photos?file=vacation.jpg&size=original").build(); String signatureBaseString = calc.signatureBaseString( // request, // 137131201, // "ZLc92RAkooZcIO/0cctl0Q==") .toString(); assertEquals( signatureBaseString, "GET&" + // "http%3A%2F%2Fphotos.example.net%2Fphotos&file%3Dvacation.jpg%26" + // "oauth_consumer_key%3D9djdj82h48djs9d2%26" + // "oauth_nonce%3DZLc92RAkooZcIO%252F0cctl0Q%253D%253D%26" + // "oauth_signature_method%3DHMAC-SHA1%26" + // "oauth_timestamp%3D137131201%26" + // "oauth_version%3D1.0%26size%3Doriginal"); }
@Test public void testWithStarQueryParameterValue() { ConsumerKey consumer = new ConsumerKey("key", "secret"); RequestToken user = new RequestToken(null, null); OAuthSignatureCalculator calc = new OAuthSignatureCalculator(consumer, user); final Request request = get("http://term.ie/oauth/example/request_token.php?testvalue=*").build(); String signatureBaseString = calc.signatureBaseString( // request, // 1469019732, // "6ad17f97334700f3ec2df0631d5b7511") .toString(); assertEquals( signatureBaseString, "GET&" + // "http%3A%2F%2Fterm.ie%2Foauth%2Fexample%2Frequest_token.php&" // + "oauth_consumer_key%3Dkey%26" // + "oauth_nonce%3D6ad17f97334700f3ec2df0631d5b7511%26" // + "oauth_signature_method%3DHMAC-SHA1%26" // + "oauth_timestamp%3D1469019732%26" // + "oauth_version%3D1.0%26" // + "testvalue%3D%252A"); }
// based on the reference test case from // http://oauth.pbwiki.com/TestCases @Test public void testGetCalculateSignature() { ConsumerKey consumer = new ConsumerKey(CONSUMER_KEY, CONSUMER_SECRET); RequestToken user = new RequestToken(TOKEN_KEY, TOKEN_SECRET); OAuthSignatureCalculator calc = new OAuthSignatureCalculator(consumer, user); Request request = get("http://photos.example.net/photos") // .addQueryParam("file", "vacation.jpg") // .addQueryParam("size", "original") // .build(); String sig = calc.calculateSignature(request, TIMESTAMP, NONCE); assertEquals(sig, "tR3+Ty81lMeYAr/Fid0kMTYa/WM="); }