0

如何在 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), });

错误发生

4

0 回答 0