Hello, I'm trying to use the JavaScript API to authenticate with OAuth from a GWT application. I've got it working with both Google and Twitter's OAuth implementations. However, it seems to fail to sign the URL at random. In other words, it works 1 out of 3 times.
I'm using the following makeSignedRequest() function to create the signed URL. >From >http://paul.donnelly.org/2008/10/31/2-legged-oauth-javascript-function-for-yql: <script type="text/javascript"> var makeSignedRequest = function(ck, cks, ts, encodedurl) { var accessor = { consumerSecret: cks, tokenSecret: ts}; var message = { action: encodedurl, method: "GET", parameters: [ ["oauth_version","1.0"], ["oauth_consumer_key",ck] ]}; OAuth.setTimestampAndNonce(message); OAuth.SignatureMethod.sign(message, accessor); var parameterMap = OAuth.getParameterMap(message); var baseStr = OAuth.decodeForm (OAuth.SignatureMethod.getBaseString(message)); var theSig = ""; if (parameterMap.parameters) { for (var item in parameterMap.parameters) { for (var subitem in parameterMap.parameters[item]) { if (parameterMap.parameters[item][subitem] == "oauth_signature") { theSig = parameterMap.parameters[item][1]; break; } } } } var paramList = baseStr[2][0].split("&"); paramList.push("oauth_signature=" + theSig); paramList.sort(function(a, b) { if (a[0] < b[0]) return -1; if (a[0] > b[0]) return 1; if (a[1] < b[1]) return -1; if (a[1] > b[1]) return 1; return 0; }); var locString = ""; for (var x in paramList) { locString += paramList[x] + "&"; } return baseStr[1][0] + "?" + locString.slice(0, locString.length - 1); }; </script> Any idea why this could be happening? Thanks, Matt --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "OAuth" group. To post to this group, send email to oauth@googlegroups.com To unsubscribe from this group, send email to oauth+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/oauth?hl=en -~----------~----~----~----~------~----~------~--~---