Я пытаюсь получить токен сеанса для доступа к VCenter.
Я пытался получить его через почтальона, который работал без каких-либо проблем с базовой аутентификацией. когда я пытаюсь сделать то же самое в NodeJS, я получаю пустые данные.
вот мой код
async function getListPolicy(url, username, password) {
var auth = "Basic " + new Buffer.from(username + ":" + password).toString("base64");
var header = {
Authorization: auth,
'Content-Type': 'application/json'
}
var options = {
method: 'POST',
url: url + '/rest/com/vmware/cis/session',
headers: header,
};
return new Promise(function (resolve, reject) {
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
resolve(body);
});
});
}
В PostMan я использовал authorization
только с Basic Auth
. Возвращает значение с ключом, и это то, что я пытаюсь получить.
Большое спасибо.
EDIT:
файл вызывается здесь.
const express = require("express");
const router = express.Router();
const getPolicies = require('./getPolicies.js');
router.post("/getListPolicy", getListPolicy);
module.exports = router;
async function getListPolicy(req, res, next) {
var url = "https://xxx/";
var username = "administrator@vsphere.local";
var password = "xxx";
var token = await getPolicies.getListPolicy(url, username, password);
res.json(token);
}