ເມື່ອການເອີ້ນ Watson ລົ້ມເຫຼວກ່ອນທີ່ຈະໄປຮອດບໍລິການ ໃຫ້ກວດເບິ່ງວ່າຄຳຮ້ອງທີ່ລົ້ມເຫຼວນັ້ນແມ່ນຄຳຮ້ອງຂໍ token ຂອງ IAM ຫຼືບໍ່. ການເອີ້ນທີ່ຢືນຢັນດ້ວຍ IAM ສາມາດຕິດຕໍ່ IAM ກ່ອນ ແລ້ວຈຶ່ງຕິດຕໍ່ບໍລິການ.

ໃນແອັບພລິເຄຊັນທີ່ໃຊ້ Watson SDK ທີ່ກ່ຽວຂ້ອງ ແລະ dependency tunnel ຢູ່ແລ້ວ ໃຫ້ຕັ້ງຄ່າເຄືອຂ່າຍດຽວກັນໃຫ້ກັບທັງສອງອັອບເຈັກ:

const tunnel = require('tunnel');
const AssistantV2 = require('ibm-watson/assistant/v2');
const { IamAuthenticator } = require('ibm-watson/auth');

const httpsAgent = tunnel.httpsOverHttp({
  proxy: { host: 'proxy.example', port: 8080 },
});

const network = { httpsAgent, proxy: false };
const authenticator = new IamAuthenticator({
  apikey: apiKey,
  ...network,
});
const assistant = new AssistantV2({
  version: serviceVersion,
  serviceUrl,
  authenticator,
  ...network,
});

ເກັບ apiKey, serviceVersion ແລະ serviceUrl ທີ່ມີຢູ່ແລ້ວໃນແອັບພລິເຄຊັນໄວ້. API ແລະ IAM endpoint ຍັງຄົງເປັນປາຍທາງທີ່ຕັ້ງໃຈໄວ້; proxy listener ເປັນຂອງ agent. ລາຍການພຣັອກຊີ HTTP ສາມາດໃຫ້ທີ່ຢູ່ຕົວແທນ ເມື່ອປາຍທາງບໍລິການສາທາລະນະທັງສອງສາມາດເຂົ້າເຖິງໄດ້ຜ່ານ proxy ທີ່ທ່ານເລືອກ.

tunnel.httpsOverHttp ສ້າງເສັ້ນທາງ HTTPS ຜ່ານ HTTP proxy. proxy: false ປ້ອງກັນບໍ່ໃຫ້ SDK ໃຊ້ການຕັ້ງຄ່າ proxy ທີ່ມີຢູ່ໃນຕົວອີກອັນໜຶ່ງທັບລົງເທິງ agent ທີ່ກຳນົດເອງນັ້ນ.

ຖ້າທ່ານເຄີຍໃຫ້ການຕັ້ງຄ່າເຫຼົ່ານີ້ກັບ assistant ພຽງຢ່າງດຽວມາກ່ອນ authenticator ຄືບ່ອນທີ່ຂາດຢູ່ ທີ່ຄວນກວດເບິ່ງ. Basic authentication ແລະ bearer token ທີ່ອອກໃຫ້ແລ້ວມີວົງຈອນການໄດ້ມາຂອງ token ທີ່ແຕກຕ່າງກັນ ດັ່ງນັ້ນເສັ້ນທາງ IAM ເພີ່ມເຕີມນີ້ຈຶ່ງໃຊ້ກັບ authenticator ທີ່ອີງໃສ່ເຄືອຂ່າຍທີ່ໃຊ້ຢູ່ນີ້.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ