Javascript 如何获得;使用Twitter登录";使用NodeJS

Javascript 如何获得;使用Twitter登录";使用NodeJS,javascript,node.js,twitter,oauth,Javascript,Node.js,Twitter,Oauth,我试图用Twitter实现Sing-In,但是我一直收到以下错误 哇! 此页的请求令牌无效。它可能已经被使用,或者因为太旧而过期。请返回发送给您的站点或应用程序,然后重试;这可能只是一个错误 这是我的密码,我做错了什么 // Server var OAuth = require('oauth').OAuth; var callbackUrl = null; var oa = new OAuth( 'https://api.twitter.com/oauth/request_token',

我试图用Twitter实现Sing-In,但是我一直收到以下错误

哇! 此页的请求令牌无效。它可能已经被使用,或者因为太旧而过期。请返回发送给您的站点或应用程序,然后重试;这可能只是一个错误

这是我的密码,我做错了什么

// Server
var OAuth = require('oauth').OAuth;
var callbackUrl = null;
var oa = new OAuth(
    'https://api.twitter.com/oauth/request_token',
    'https://api.twitter.com/oauth/access_token',
    CONSUMER_KEY,
    CONSUMER_SECRET,
    '1.0',
    callbackUrl,
    'HMAC-SHA1'
);

const promise = new Promise((resolve, reject) => {
    oa.getOAuthRequestToken(function(error, token, secret, results) {
        resolve({
            token,
            secret,
        });
    });
});

var oauth = await promise;
return { oauth };

// Client
window.open(`https://api.twitter.com/oauth/authenticate?oauth_token=${twitter.oauth.token})`);
我还将回调url设置为与应用程序详细信息页面中相同的url,但没有骰子

var callbackUrl = 'http://0.0.0.0:3001/settings/social/twitter/oauth';
小提示,不确定是否有用,但我注意到返回的令牌比我在网上看到的示例要短。例如:

Mine: EBhy3AAAAAAA94TPAAABajDwCww%
Twitter Site: NPcudxy0yU5T3tBzho7iCotZ3cnetKwcTIRlX0iwRl0&

我的客户代码有一个额外的“)”

应该读

window.open(`https://api.twitter.com/oauth/authenticate?oauth_token=${twitter.oauth.token}`);

这是来自
oa.getOAuthRequestToken
的错误响应,还是来自您在其回调中执行的操作?我获取返回的标记并转到指定的url,我在那里得到了错误:)根据他们的文档,您不认为向我们显示该代码很重要吗?很抱歉@IsaacVidrine,我猜是因为那一边真的没什么我没想到的!我已经更新了原来的postLOL@IsaacVidrine非常感谢你。。。如果你看一下重定向代码,结果发现我在路径中有一个额外的“)”。。。非常感谢你让我看这个=D
window.open(`https://api.twitter.com/oauth/authenticate?oauth_token=${twitter.oauth.token}`);