Uma ukushaya kwe-Watson kuhluleka ngaphambi kokufika kusevisi, hlola ukuthi isicelo esihlulekile yisicelo se-token ye-IAM yini. Ukushaya okuqinisekiswe nge-IAM kungaxhumana ne-IAM kuqala bese kuxhumana nesevisi.

Kuhlelo lokusebenza oselusebenzisa i-Watson SDK efanele kanye ne-dependency tunnel, nikeza izilungiselelo zenethiwekhi ezifanayo kuzo zombili izinto:

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

Gcina i-apiKey, i-serviceVersion ne-serviceUrl ekhona yohlelo lokusebenza. I-API ne-IAM endpoint zihlala ziyizindawo ezihlosiwe; isilaleli se-proxy singeseya-agent. ohlwini lwama-proxy e-HTTP lungahlinzeka ngamakheli angabangeneleki uma zombili izindawo zesevisi zomphakathi zingafinyelelwa nge-proxy oyikhethayo.

tunnel.httpsOverHttp isungula indlela ye-HTTPS nge-proxy ye-HTTP. proxy: false ivimbela i-SDK ekusebenziseni enye ikhophi yokucushwa kwe-proxy eyakhelwe ngaphakathi phezu kwaleyo agent yangokwezifiso.

Uma ngaphambili wanikeza lezi zilungiselelo ku-assistant kuphela, i-authenticator iyindawo engekho okufanele ihlolwe. I-basic authentication kanye ne-bearer token esivele ikhishiwe zinemijikelezo ehlukene yokuthola i-token, ngakho le ndlela eyengeziwe ye-IAM isebenza ku-authenticator esekelwe kunethiwekhi esetshenziswa lapha.

Izihloko ezihlobene