ember.js で oauth_signature と oauth_nonce を生成するにはどうすればよいですか?
Ember.js で Authorization ヘッダーを渡すにはどうすればよいですか?
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、パラメーター、consumerSecret、tokenSecret)、});
エンコードされた署名に変更すると: oauthSignature.generate('POST', URL, parameters, consumerSecret, tokenSecret), });
エラーが発生します