我的 React Web 应用程序中的 Twitter 社交登录集成问题

问题描述 投票:0回答:1

这是获取 auth_token 和 auth_verifier 后的以下响应。错误:获取请求令牌:{errors: [ {code: 215, message: 'Bad Authentication data.}]}。使用node.JS从后端处理这个问题,也欢迎任何其他方法或前端(反应)库。

已经尝试过一些流行的 React 库,但无法让它们中的任何一个适用于 Twitter。因此,遵循 Twitter 文档并尝试使用 Node.JS 从后端处理它。但是,无法通过第 3 步,我正在尝试获取访问令牌。只需要在我的网站中集成 Twitter 登录即可。

下面是我的代码


const axios = require('axios');
const OAuth = require('oauth-1.0a');

const consumerKey = 'igGNukzzPE702IdxapH8WcQiU';
const consumerSecret = 'HPUyFhgSuyOYo5Ro0AZzR4QKSb1FxRoGkoGPgmpdJE5F0ApmA7';
const callbackURL = 'https://dev.betterblueperformance.com/twitter-callback';

// Create an OAuth instance
const oauth = OAuth({
consumer: { key: consumerKey, secret: consumerSecret },
signature_method: 'HMAC-SHA1',
hash_function: (baseString, key) =\> require('crypto').createHmac('sha1', key).update(baseString).digest('base64'),
});

// Set up the OAuth data for the request token
const requestData = {
url: 'https://api.twitter.com/oauth/request_token',
method: 'POST',
data: { oauth_callback: encodeURIComponent(callbackURL) },
};

// Generate the OAuth signature
const authorization = oauth.authorize(requestData);

// Make the request to obtain the request token
axios.post(requestData.url, null, {
headers: {
'Authorization': oauth.toHeader(authorization),
'Content-Type': 'application/x-www-form-urlencoded',
},
})
.then(response =\> {
// Parse the response to extract the request token and secret
const responseData = response.data;
const requestToken = responseData.match(/oauth_token=(\[^&\]+)/)\[1\];
const requestTokenSecret = responseData.match(/oauth_token_secret=(\[^&\]+)/)\[1\];

    console.log('Request Token:', requestToken);
    console.log('Request Token Secret:', requestTokenSecret);

})
.catch(error =\> {
console.error('Error obtaining request token:', error.response ? error.response.data : error.message);
});
reactjs twitter-oauth
1个回答
0
投票

你能解决这个问题吗?

© www.soinside.com 2019 - 2024. All rights reserved.