gpt4 book ai didi

node.js - 获取访问 token 时 token 已使用错误

转载 作者:太空宇宙 更新时间:2023-11-04 01:06:16 25 4
gpt4 key购买 nike

我正在尝试设置一个 node.js 应用程序以使用 OAuth2.0 来使用 Elance API我正在使用 Passport.js 连接到 elance api,到目前为止我能够正确获取代码。在使用 api 方法之前,我需要获取 request token using a post request .

但是,我收到“代码已使用”错误。这是我的回调代码

app.get('/callback', 
passport.authenticate('elance', { failureRedirect: '/failure' }),
function(req, res) {
console.log('CODE : ' + req.query.code); // this is getting displayed properly
var payload = {
code: req.query.code,
grant_type:'authorization_code',
client_id: auth.CLIENT_ID,
client_secret: auth.CLIENT_SECRET
};

request.post('https://api.elance.com/api2/oauth/token/', payload)
.then(function(response) {
var x = response.getBody();
console.log('resp::::'+x);
res.redirect('/success');
});
});

我正在使用requestify执行发布请求,并且不使用临时代码使用/调用服务器。这是生成的错误:

... [Sat, 29 Mar 2014 05:54:15 GMT] "GET /callback?code=F9t-zztOLJ3IOlbGXlsqous686HstXqkv7etrvEnF11Vg4M HTTP/1.1" - - "-" "Mozilla/5.0 (X11; Linux i686 on x86_64; rv:30.0) Gecko/20100101 Firefox/30.0"
InternalOAuthError: Failed to obtain access token (status: 401 data: {"errors":[{"code":null,"description":"Code already used."}]})

最佳答案

也许使用 Elance 实现此目的的正确方法是编写一个策略。只需使用发布的其他内容之一,如 Facebook作为模型,或者更简单的模型,例如 GitHub 。它应该相当简单,并且封装得更好。以下是完整列表:http://passportjs.org/如果你想探索。更好的是,使该模块可重用,其他人就可以以更标准的方式从中受益。

策略将为您交换代币代码。可能是使用代码的原因并且您收到该错误。这是标准 OAuth2 流程的一部分。

关于node.js - 获取访问 token 时 token 已使用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22727710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com