Как реализовать 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);
}
})();