从Twitter oAuth API请求令牌时出错215

Ani*_*udh 6 twitter node.js twitter-oauth

我正在尝试在我的NodeJS应用程序中实现Twitter登录.

根据Twitter 的文档,我需要通过POST请求将以下参数传递给此URL. 网址:

https://api.twitter.com/oauth/request_token

参数:

 oauth_nonce=, 
 oauth_signature=, 
 oauth_callback="http%3A%2F%2Fmyapp.com%3A3005%2Ftwitter%2Fprocess_callback", 
 oauth_signature_method="HMAC-SHA1",       
 oauth_timestamp="currentTimestamp", 
 oauth_consumer_key=“myKEY”, 
 oauth_version="1.0"
Run Code Online (Sandbox Code Playgroud)

我正在为oauth_nonce参数传递一个随机字符串.我不清楚如何创建一个oauth_signature?

我不断收到215错误,每当我做出不正确的POST请求怎么一回事,因为oauth_nonce和oauth_signature我猜的值.

如何在NodeJS中发出请求时生成oauth_nonce和oauth_signature值.

Rod*_*ata 5

这些参数需要在您的授权标头中传递:

OAuth oauth_nonce="K7ny27JTpKVsTgdyLdDfmQQWVLERj2zAK5BslRsqyw", 
oauth_callback="http%3A%2F%2Fmyapp.com%3A3005%2Ftwitter%2Fprocess_callback", 
oauth_signature_method="HMAC-SHA1", 
oauth_timestamp="1300228849", 
oauth_consumer_key="OqEqJeafRSF11jBMStrZz", 
oauth_signature="Pc%2BMLdv028fxCErFyi8KXFM%2BddU%3D", 
oauth_version="1.0"
Run Code Online (Sandbox Code Playgroud)

但在此之前,您需要获得签名,签名将为您提供上述所有参数。检查此处的文档。

建议使用像Passport这样的第三方库,如果需要的话,它可以大大简化这个过程。


小智 0

无法评论,所以在这里回答。该文件说oauth_nonce:

是您的应用程序应为每个唯一请求生成的唯一令牌

它就像加密的盐。oauth_signature您可以在同一链接下找到。这里描述了如何生成它。