Как реализовать OAuth 2 Circuit REST API для ботов?

Как реализовать OAuth 2 Circuit REST API для ботов? Использовать client_id и client_secret. Спасибо.

1 ответ

См. https://circuit.github.io/oauth.html в HTTP-запросе для получения токена. Вы можете вручную выполнить запрос / oauth / token, чтобы получить токен, или использовать любую библиотеку OAuth 2.0. Выполнять регулярные HTTP-запросы GET/POST, используя этот токен OAuth.

Вот пример, в котором для получения токена используется simple-oauth2, а затем - выборка узлов для получения разговоров.

const simpleOauth2 = require('simple-oauth2');
const fetch = require('node-fetch');
const DOMAIN = 'https://circuitsandbox.net';

const credentials = {
  client: {
    id: '<client_id>',
    secret: '<cient_secret>'
  },
  auth: {
    tokenHost: DOMAIN
  }
};

// Initialize the OAuth2 Library
const oauth2 = simpleOauth2.create(credentials);

(async () => {
  try {
    const { access_token: token } = await oauth2.clientCredentials.getToken({scope: 'ALL'})
    console.log('Access Token: ', token);

    const convs = await fetch(`${DOMAIN}/rest/conversations`, {
      headers: { 'Authorization': 'Bearer ' + token },
    }).then(res => res.json());

    console.log('Conversations:', convs);
  } catch (err) {
    console.error(err);
  }
})();
Другие вопросы по тегам