Ansible Вызов Tower API с использованием токена OAuth2 из приложения Nodejs - PullRequest
0 голосов
/ 29 мая 2020

Можем ли мы вызвать Ansible Tower Api, передав только токен Oauth2 без имени пользователя или пароля?

(Скажем, я хочу получить свои запасы из башни ansible, передав только токен Oauth2 моему nodejs script. Возможно ли это?)

Если да, поделитесь синтаксисом этого сценария.

Сценарий, который я использовал, дает мне правильный результат, но он использует учетные данные в качестве имени пользователя и пароля, но я хотите выполнить ту же задачу, передав только токен OAuth2 (генерируемый из моего имени пользователя и пароля)

var unirest = require('unirest');
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
var Request = unirest.get('http://<tower-host>/api/v2/inventories');

Request
   .auth({
    user: 'foo',
    pass: 'bar',
})
   .then(function (response) {
    var data = response.body;
    console.log(data);
  })

1 Ответ

1 голос
/ 29 мая 2020

Вы можете просто передать токен авторизации в заголовке. Вот пример функции:

const fetch = require('node-fetch');
function job_inventory(tower_url, token) {
    return fetch(tower_url+ "/api/v2/inventories", {
        method: "GET",
        headers: {
            "content-type": "application/json",
            "authorization": "Bearer " + token
        }
    });
}
...