Аутентификация Trello API - Узел с OAuth - Получение oauth_verifier для Сервиса - PullRequest
1 голос
/ 26 марта 2012

возможно, я не правильно понимаю поток OAuth, но это то, что я хочу сделать: у меня есть служба, которая будет отправлять запрос в API Trello, поэтому для выполнения некоторых запросов мне нужноиметь токен доступа.

Возможно ли это вообще?Я знаю, что вы можете сделать это с другими сервисами, такими как Twitter, но я не знаю, смогу ли я сделать это с Trello.

Я использую NodeJS с библиотекой под названием oauth , чтобысделать это, и мой поток выглядит следующим образом: я создал новый объект OAuth, вызову getOAuthRequestToken , а затем я вызываю getOAuthAccessToken в обратном вызове, и там я получаю сообщение об ошибке 500что oauth_verifier отсутствует.

Вот фрагмент кода, о котором я говорю:

var OAuth = require('oauth').OAuth,
    oauth = new OAuth('https://trello.com/1/OAuthGetRequestToken?key=' + config.key,
                      'https://trello.com/1/OAuthGetAccessToken',
                      config.key,
                      config.secret,
                      '1.0',
                      null,
                      'PLAINTEXT');

    oauth.getOAuthRequestToken(function(error, oauth_token, oauth_secret, results){
          //Here I have some error handling code
          oauth.getOAuthAccessToken(oauth_token, oauth_secret,
                function(error, oauth_access_token, oauth_access_token_secret, access_results){
                //Here I would be storing the access token for later, etc.
                }
    });

Итак, очевидно, я не передаю параметр oauth_verifier в getOAuthAccessToken метод (я проверил в коде, и эта функция ожидает проверки в качестве третьего параметра), но я не делаю этого, потому что у меня его нет: объект results пуст, и я не знаю, какчтобы получить его программно.

Еще одна вещь, на которую следует обратить внимание, это то, что я передаю параметр key в URL-адресе запроса токена *1029* и использую обычный текст какподпись, потому что я просто подумал, что это будет правильно (я не вижу в документации никаких ссылок о том, какую подпись использовать или мне нужно передать ключ в качестве параметра).

Я делаю вещи действительно неправильно?Я на правильном пути?что мне не хватает?

Как всегда, заранее спасибо!=)

1 Ответ

0 голосов
/ 26 марта 2012

Документы Trello не много говорят об oAuth.

Я бы предположил, что проблема заключается в том, что Trello - это oAuth 2.0 (используется Facebook, Google), и выиспользуя схему oAuth 1.0 (используется Twitter, Tumblr).

Для чего стоит библиотека node-oauth, в каталоге lib есть реализация oAuth2, которую можно включить с помощью require в файле node.js..

...