Я пытаюсь настроить приложение node.js на использование API-интерфейса Elance с использованием OAuth2.0 Я использую 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."}]})
Благодаря Eugenio, я начал работу над этим сейчас и опубликует результаты здесь –
я сделал стратегию (https://github.com/SumitBisht/passport-elance), но проблема остается. Дальнейшие попытки создания приложения php, приведенного на веб-сайте elance, также не выполняются. Есть ли способ проверить статус сервера Oauth? –
@Sumit - Я бы хотел, чтобы вы не отметили это как правильное, так как это не сработало для вас. Я долгое время пытался выяснить, что означает этот ответ, пока я не понял, что это неправильный ответ :-). –