Watson Node SDK:n välityspalvelinasetukset API- ja IAM-pyyntöjä varten
Jaa tunnelointiagentti Watson-palvelun asiakasohjelman ja sen IAM-todentajan kesken, jotta tunnuksen hankinta voi käyttää välityspalvelinta.
Kun Watson-kutsu epäonnistuu ennen kuin se saavuttaa palvelun, tarkista, onko epäonnistunut pyyntö IAM-tunnuspyyntö. IAM-todennettu kutsu voi ottaa yhteyden ensin IAM:ään ja sitten palveluun.
Sovelluksessa, joka käyttää jo kyseistä Watson SDK:ta ja riippuvuutta tunnel, anna molemmille olioille samat verkkoasetukset:
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äilytä sovelluksen nykyiset apiKey, serviceVersion ja serviceUrl. API- ja IAM-päätepisteet pysyvät aiottuina kohteinaan; välityspalvelimen kuuntelija kuuluu agenttiin. HTTP-välityspalvelinluettelo voi tarjota ehdokasosoitteita, kun molempiin julkisiin palvelupäätepisteisiin voi päästä valitsemasi välityspalvelimen kautta.
tunnel.httpsOverHttp muodostaa HTTPS-reitin HTTP-välityspalvelimen kautta. proxy: false estää SDK:ta soveltamasta toista sisäänrakennettua välityspalvelinasetusta tuon mukautetun agentin päälle.
Jos annoit nämä asetukset aiemmin vain oliolle assistant, todentaja on puuttuva tarkistettava kohta. Perustodennuksella ja jo myönnetyllä bearer-tunnuksella on erilaiset tunnuksen hankinnan elinkaaret, joten tämä ylimääräinen IAM-reitti koskee tässä käytettävää verkkopohjaista todentajaa.