Þegar Watson-kall mistekst áður en það nær þjónustunni, athugaðu hvort misheppnaða beiðnin sé IAM-auðkennisbeiðnin. Kall sem er auðkennt með IAM getur fyrst haft samband við IAM og svo þjónustuna.

Í forriti sem notar þegar viðkomandi Watson SDK og hugmyndina tunnel, gefðu báðum hlutunum sömu netstillingarnar:

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

Haltu núverandi apiKey, serviceVersion og serviceUrl forritsins. API- og IAM-endapunktarnir halda sér sem fyrirhugaðir áfangastaðir; milliþjónshlustaranum er komið fyrir í umboðinu. HTTP-milliþjónslistinn getur boðið tillögu að vistföngum þegar hægt er að ná báðum opinberum endapunktum þjónustunnar gegnum milliþjón sem þú velur.

tunnel.httpsOverHttp byggir HTTPS-leiðina gegnum HTTP-milliþjóninn. proxy: false kemur í veg fyrir að SDK beiti annarri innbyggðri milliþjónsstillingu ofan á þetta sérsniðna umboð.

Ef þú gafst þessar stillingar áður aðeins assistant, þá er auðkennið sá staður sem vantar að skoða. Grunnauðkenning og þegar útgefið bearer-auðkenni hafa mismunandi lífsferla við öflun auðkennis, svo þessi viðbótar-IAM-leið á við netauðkennið sem er notað hér.

Tengdir greinar