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.
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] + "&";
}
> 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.
Thanks for your suggestion. I tried using this but I'm still
experiencing the same problem. The good news is yours looks a lot
simpler and it appears to work just as good as the last one. Looking
at both Paul Donnelly's and yours, neither contains the "tokenSecret"
in the accessor that's used to sign the access_token request, as well
as any API requests. Am I correct in assuming that the tokenSecret
(the "auth_token_secret" value returned after getting the initial
token) is needed for these two calls?
To be clear, I can reliably get a token and authorize it. After that,
it seems like getting an access_token works 50% of the time and
calling the api (with auth_token as a param in the URL) works 30% of
the time.
Thanks,
Matt
On Jun 17, 10:11 pm, Chirag Shah <chiragsh...@gmail.com> wrote:
> On Jun 17, 8:28 am, Matt Raible <mrai...@gmail.com> wrote:
> > 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.
Yes, your request for an access token should be signed with the
request token secret; that is the oauth_token_secret that you received
with your request token. Also, requests for access to APIs should be
signed with the access token secret, that is the oauth_token_secret
that you received with your access token. I'm surprised that the
service provider accepts requests that are signed without the token
secrets.
Here's a simpler way to construct the URL for requesting an access
token, or access to an API. It yields the same result, letting
oauth.js handle more of the details.
> ... Looking
> at both Paul Donnelly's and yours, neither contains the "tokenSecret"
> in the accessor that's used to sign the access_token request, as well
> as any API requests. Am I correct in assuming that the tokenSecret
> (the "auth_token_secret" value returned after getting the initial
> token) is needed for these two calls?
> To be clear, I can reliably get a token and authorize it. After that,
> it seems like getting an access_token works 50% of the time and
> calling the api (with auth_token as a param in the URL) works 30% of
> the time.
Can a GWT application communicate cross-domain, with an OAuth service
provider other than the GWT application server? How? I've read that
browser security restrictions prevent this.
http://www.mooreds.com/wordpress/archives/000500
On Jun 17, 8:28 am, Matt Raible <mrai...@gmail.com> wrote:
> 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.
On Sat, Jun 20, 2009 at 4:22 PM, John Kristian<jmkrist...@gmail.com> wrote:
> Can a GWT application communicate cross-domain, with an OAuth service
> provider other than the GWT application server? How? I've read that
> browser security restrictions prevent this.
> http://www.mooreds.com/wordpress/archives/000500
> On Jun 17, 8:28 am, Matt Raible <mrai...@gmail.com> wrote:
>> 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.