如何在 ember.js 中生成 oauth_signature 和 oauth_nonce?
如何在 Ember.js 中传递授权标头?
App.TwitterController = Ember.ObjectController.extend({
actions: {
URL : ' https://api.twitter.com/oauth/request_token',
parameters : {
oauth_consumer_key : '',
oauth_nonce : 'kllo9940pd9333jh',
oauth_timestamp : '1191242096',
oauth_signature_method : 'HMAC-SHA1',
oauth_version : '1.0',
},
consumerSecret : '',
encodedSignature : oauthSignature.generate('POST', URL, parameters, consumerSecret, tokenSecret),
loginTwitter: function() {
console.log('Event Clicked');
return new Ember.RSVP.Promise(function(resolve, reject) {
Ember.$.ajax({
url: 'https://api.twitter.com/oauth/request_token',
type: 'POST',
headers: {
"Authorization": 'OAuth oauth_callback="http%3A%2F%2example.com%3A3005%2Ftwitter%2Fcallback", oauth_consumer_key="", oauth_nonce="kllo9940pd9333jh", oauth_signature=' + encodedSignature + ', oauth_signature_method="HMAC-SHA1", oauth_timestamp="1191242096", oauth_version="1.0"'
},
contentType: 'application/x-www-form-urlencoded'
}).then(function(response) {
console.log('Successed');
console.log(response);
resolve (response);
}, function(xhr, status, error) {
console.log(error);
console.log('In Error');
reject(error);
});
});
},
}
});
错误是无法验证 oauth 签名和令牌
我是 Ember.js 的新手。在上面的示例中,我使用了标题,这是否正确。如果没有,请告诉我如何在 ember.js 中使用授权标头
如何在 ember.js 中创建 oauth_signature 和 oauth_nonce。有图书馆吗?
它给出错误“参考:未定义参数”。然后当我评论参数代码并从函数中删除时。然后它给出错误'参考:consumerSecret 未定义'。
我不想给消费者秘密。因为在 twitter 文档中我只阅读了回调 url、oauth_signaturem oauth_nonce、consumer_key 和版本来请求令牌。
它不返回 auth_token、oauth_secert。当 request_token url 命中时,我想访问 auth_token 等。
App.ApplicationController = Ember.Controller.extend({
URL : ' https://api.twitter.com/oauth/request_token',
parameters : {
oauth_consumer_key : '',
oauth_nonce : 'kllo9940pd9333jh',
oauth_timestamp : '1191242096',
oauth_signature_method : 'HMAC-SHA1',
oauth_version : '1.0',
},
consumerSecret : '',
// generates a RFC3986 encoded, BASE64 encoded HMAC-SHA1 hash
encodedSignature : oauthSignature.generate('POST', URL, parameters, consumerSecret, tokenSecret),
});
我还在 ApplicationController 中创建属性并在 twitterController 中访问,但发生同样的错误。
此行也给出错误 oauthSignature.generate 方法返回签名但它给出错误。encodedSignature = oauthSignature.generate('POST', URL, parameters, consumerSecret, tokenSecret), });
当我将其更改为编码签名时:oauthSignature.generate('POST', URL, parameters, consumerSecret, tokenSecret), });
错误发生