Nastavitve proxyja v Watson Node SDK za zahteve API in IAM
Delite agenta tunela med odjemalcem storitve Watson in njegovim overiteljem IAM, da lahko pridobivanje žetona uporablja proxy.
Ko klic Watson spodleti, preden doseže storitev, preverite, ali je neuspešna zahteva zahteva za žeton IAM. Klic, overjen z IAM, lahko najprej stopi v stik z IAM in nato s storitvijo.
V aplikaciji, ki že uporablja ustrezni Watson SDK in odvisnost tunnel, dajte obema objektoma enake omrežne nastavitve:
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,
});Ohranite obstoječe apiKey, serviceVersion in serviceUrl aplikacije. Končni točki API in IAM ostaneta njuna predvidena cilja; poslušalec proxyja pripada agentu. seznama proxyjev HTTP lahko ponudi kandidatne naslove, ko sta obe javni končni točki storitve dosegljivi prek proxyja, ki ga izberete.
tunnel.httpsOverHttp vzpostavi pot HTTPS prek proxyja HTTP. proxy: false SDK-ju prepreči, da bi na tega prilagojenega agenta uporabil še eno vgrajeno konfiguracijo proxyja.
Če ste te nastavitve prej posredovali samo objektu assistant, je overitelj manjkajoče mesto, ki ga je treba preveriti. Osnovno preverjanje pristnosti in že izdani žeton bearer imata različna življenjska cikla pridobivanja žetona, zato ta dodatna pot IAM velja za tu uporabljeni omrežni overitelj.