0

我对 twitter 的第一个请求需要一个签名:

我的代码为此 URL https://api.twitter.com/oauth/request_token创建了一个 Post 请求,我必须设置一个下面提到的标头,我需要在其中签名。

我只有回调Url,consumer_key。我创建了随机数和时间戳。我需要签名。

授权标头:OAuth oauth_nonce="XXXXXXXXX", oauth_callback="XXXX", oauth_signature_method="HMAC-SHA1", oauth_timestamp="XXXXXX", oauth_consumer_key="XXXXXX", oauth_signature="HOW I CREATE THIS", oauth_version="1.0"

4

2 回答 2

0

我认为 twitter 有一个关于创建签名的很好的文档。 https://dev.twitter.com/docs/auth/creating-signature

一探究竟...

编辑:我注意到您的 oauth_* 参数不按顺序排列。别忘了把它们整理好。

于 2014-02-14T10:15:48.573 回答
0

您可以使用 oauth 模块https://github.com/ciaranj/node-oauth

   var oauth=require('oauth');         
   var consumer = new oauth.OAuth(
     "https://twitter.com/oauth/request_token", "https://twitter.com/oauth/access_token", 
_twitterConsumerKey, _twitterConsumerSecret, "1.0A", "http://127.0.0.1:8080/sessions/callback", "HMAC-SHA1");

然后生成这样的签名:

    var parameters = consumer._prepareParameters("user_access_token", "user_access_token_secret", "http_method", "request_url");
    var headers = consumer._buildAuthorizationHeaders(parameters);

参数数组包含签名,如果需要,您也可以构建授权标头。希望能帮助到你 :)

于 2017-01-25T07:50:35.810 回答