Kui Watsoni kutse ebaõnnestub enne teenuseni jõudmist, kontrollige, kas ebaõnnestunud päring on IAM-i loa päring. IAM-iga autenditud kutse võib esmalt ühendust võtta IAM-iga ja seejärel teenusega.

Rakenduses, mis juba kasutab asjakohast Watson SDK-d ja sõltuvust tunnel, andke mõlemale objektile samad võrguseaded:

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,
});

Säilitage rakenduse olemasolevad apiKey, serviceVersion ja serviceUrl. API ja IAM-i lõpp-punktid jäävad nende kavandatud sihtkohtadeks; puhverserveri kuulaja kuulub agendi juurde. HTTP puhverserverite loend võib pakkuda kandidaataadresse, kui mõlemale avalikule teenuse lõpp-punktile saab juurde teie valitud puhverserveri kaudu.

tunnel.httpsOverHttp loob HTTPS-tee läbi HTTP puhverserveri. proxy: false takistab SDK-l rakendamast selle kohandatud agendi peale veel üht sisseehitatud puhverserveri seadistust.

Kui andsite need seaded varem ainult objektile assistant, on autentija puuduv koht, mida kontrollida. Põhiautentimisel ja juba väljastatud bearer-lool on erinevad loa hankimise elutsüklid, seega kehtib see täiendav IAM-i tee siin kasutatava võrgupõhise autentija kohta.

Seotud artiklid