【发布时间】:2014-05-08 19:02:09
【问题描述】:
我正在尝试使用 OAuth2.0 设置 node.js 应用程序以使用 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."}]})
【问题讨论】:
标签: node.js api oauth-2.0 passport.js freelancer.com-api