由于 CRC 无效,无法注册 twitter webhook

Lei*_*itz 5 twitter webhooks node.js

我在注册 Twitter 网络钩子时遇到问题。我正在使用 twitterdev/account-activity-dashboard,虽然请求到达了 webhook(我可以在日志中看到它),但我一直得到这个回报:

Webhook URL 不符合要求。无效的 CRC 令牌或 json 响应格式。

我相信我已经非常仔细地遵循了这里的描述:https : //github.com/twitterdev/account-activity-dashboard

我的凭据正确,权限正确,并且我已经设置了环境。

服务器端在 node.js 中。响应 webhook 创建请求的简单代码在这里。

我正在使用加密库来创建 hmac(同样,如上面链接中提供的示例。)

function twitterWebhook(req, res, next)
{
my.logger.verbose('Entered the Twitter Webhook');
my.logger.verbose('Here is the url: ' + JSON.stringify(req.url));
my.logger.verbose('Here is the query: ' + JSON.stringify(req.query));

var crc_token = req.query.crc_token;

my.logger.verbose('crc_token is:  ' + crc_token);
my.logger.verbose('secret is   :  ' + conf.T_consumer_secret);

var hmac = crypto.createHmac('sha256', 
conf.T_consumer_secret).update(crc_token).digest('base64');
my.logger.verbose('hmac is     :  ' + hmac);

if (req.method.toLowerCase() == 'get'){
    var aResponse = {response_token:hmac};
    var aResponseString = JSON.stringify(aResponse);
    res.send(hmac);
}
Run Code Online (Sandbox Code Playgroud)

小智 0

response_token: 'sha256=' + hmac
Run Code Online (Sandbox Code Playgroud)

您必须sha256=在响应令牌的开头添加,添加后解决了相同的问题。