diff --git a/Readme.md b/Readme.md index 96da511..0ca4470 100644 --- a/Readme.md +++ b/Readme.md @@ -8,8 +8,9 @@ Also provides rudimentary OAuth2 support, tested against facebook connect and gi at express-auth (http://github.com/ciaranj/express-auth) Change History -============== - +============== +* 0.7.7 - Looks like non oauth_ parameters where appearing within the Authorization headers, which I believe to be inccorrect. +* 0.7.6 - Added in oauth_verifier property to getAccessToken required for 1.0A * 0.7.5 - Added in a main.js to simplify the require'ing of OAuth * 0.7.4 - Minor change to add an error listener to the OAuth client (thanks troyk) * 0.7.3 - OAuth 2 now sends a Content-Length Http header to keep nginx happy :) diff --git a/lib/oauth.js b/lib/oauth.js index 5955ded..8c1c0da 100644 --- a/lib/oauth.js +++ b/lib/oauth.js @@ -193,8 +193,12 @@ exports.OAuth.prototype._performSecureRequest= function( oauth_token, oauth_toke // build request authorization header var authHeader="OAuth "; - for( var i= 0 ; i < orderedParameters.length; i++) { + for( var i= 0 ; i < orderedParameters.length; i++) { + // Whilst the all the parameters should be included within the signature, only the oauth_ arguments + // should appear within the authorization header. + if( orderedParameters[i][0].match('^oauth_') == "oauth_") { authHeader+= this._encodeData(orderedParameters[i][0])+"=\""+ this._encodeData(orderedParameters[i][1])+"\","; + } } authHeader= authHeader.substring(0, authHeader.length-1); @@ -233,11 +237,14 @@ exports.OAuth.prototype._performSecureRequest= function( oauth_token, oauth_toke request.end(); } -exports.OAuth.prototype.getOAuthAccessToken= function(oauth_token, oauth_token_secret, oauth_verifier, callback) { - var extraParams = {}; - if( oauth_verifier ) { - extraParams.oauth_verifier = oauth_verifier; - } +exports.OAuth.prototype.getOauthAccessToken= function(oauth_token, oauth_token_secret, oauth_verifier, callback) { + var extraParams= {}; + if( typeof oauth_verifier == "function" ) { + callback= oauth_verifier; + } else { + extraParams.oauth_verifier= oauth_verifier; + } + this._performSecureRequest( oauth_token, oauth_token_secret, "GET", this._accessUrl, extraParams, function(error, data, response) { if( error ) callback(error); else { diff --git a/package.json b/package.json index 8bcd76d..5d44047 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { "name" : "oauth" -, "version" : "0.7.5" +, "version" : "0.7.7" , "directories" : { "lib" : "./lib" } , "main" : "main.js" , "author" : "Ciaran Jessup"