javascript - OAuth,request_token 上的 403 响应错误

标签 javascript oauth twitter-oauth

尝试获取一个时收到http 403响应错误 请求 token 。

我已经检查了我的基弦的歌唱过程,这是正确的。如果

我使用 Twitter 开发站点上的默认 key ,它生成相同的 他们在网站上列出的结果,所以我很确定没关系。

任何见解将不胜感激!


var reqURL = 'https://api.twitter.com/oauth/request_token';
var reqNonce = getNonce();      
var reqTimeStamp = getTimeStamp();  
var reqSignatureMethod = 'HMAC-SHA1';
var reqOauthVersion = '1.0';
var reqConsumerKey = 'ySBPkqxaRlheQKFwejMpqg';
var reqConsumerSecret = '______________&'  // note the & at the end..
var reqCallback = 'http%3A%2F%2Flocalhost%3A3005%2Fthe_dance%2Fprocess_callback%3Fservice_provider_id%3D11'
var reqQuery = 'oauth_callback=' + reqCallback + '&oauth_consumer_key=' + reqConsumerKey + '&oauth_nonce=' + reqNonce + '&oauth_signature_method=' + reqSignatureMethod + '&oauth_timestamp=' + reqTimeStamp + '&oauth_version=' + reqOauthVersion;
var reqBaseString = 'POST&' + reqURL + '&' + encodeURIComponent(reqQuery);
var reqSignature = b64_hmac_sha1(reqConsumerSecret, reqBaseString);
var reqSignature = reqSignature + '=';
var request = new XMLHttpRequest();
request.onreadystatechange = function(data) {
    if (request.readyState == 4) {

        // Good response, got the xml file
        if (request.status == 200) {
            alert ('good response');
        }
    }
};

// alert (reqURL);
// alert (reqBaseString);

var oauthParams = encodeURIComponent("OAuth oauth_callback=\"" + reqCallback + "\",oauth_consumer_key=\"" + reqConsumerKey + "\",oauth_nonce=\"" + reqNonce + "\",oauth_signature_method=\"" + reqSignatureMethod + "\",oauth_timestamp=\"" + reqTimeStamp + "\",oauth_version=\"1.0\",oauth_signature=\"" + reqSignature + "\"");

request.open("POST", reqURL, true);
request.setRequestHeader("Accept", "text/plain, */*");
request.setRequestHeader("Connection", "Keep-Alive");
request.setRequestHeader("Authorization", oauthParams);
request.send();

最佳答案

我发现非常有用的是只获取与 cnauroth 建议的 Netflix OAuth 测试一起工作的原始 HTTP 请求,然后将其与您使用此处的代码片段发送的内容进行比较。 OAuth 很棘手而且不好玩,所以如果您可以区分这两个请求,您应该能够找到一些不正确的编码或错位的 &。

关于javascript - OAuth,request_token 上的 403 响应错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6352335/

相关文章:

javascript - 有什么方法可以逆转 Closure Compiler(或类似的)对代码的影响吗?

ios - 如何生成签名方法OAuth1

c# - 从后台服务验证 Sharepoint 站点并上传文件

php - Twitter App 没有将 localhost 和 127.0.0.1 作为 CallbackUrl

iphone - Twitter 的手动登录功能仅在 iphone sdk 中发布推文

使用组时,JavaScript 替换仅在正则表达式完全匹配时执行

javascript - 如何使用 jQuery onclick 事件更改父 <div> 元素内子元素 <span> 的 CSS?

python - 如何解析 StackExchange OAuth 响应?

twitter - 如何在Lua中使用OAUTH发送POST请求

javascript - Firefox CSS 动画不工作?