Watson Node SDK tarpinio serverio nustatymai API ir IAM užklausoms
Bendrinkite tunelio agentą tarp Watson paslaugos kliento ir jo IAM autentifikatoriaus, kad prieigos raktas būtų gaunamas per tarpinį serverį.
Kai Watson iškvietimas nepavyksta dar nepasiekus paslaugos, patikrinkite, ar nepavykusi užklausa nėra IAM prieigos rakto užklausa. IAM autentifikuojamas iškvietimas pirmiausia gali susisiekti su IAM, o po to su paslauga.
Programoje, kuri jau naudoja atitinkamą Watson SDK ir tunnel priklausomybę, nurodykite tuos pačius tinklo nustatymus abiem objektams:
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,
});Palikite esamus programos apiKey, serviceVersion ir serviceUrl. API ir IAM galiniai taškai išlieka numatyti tikslai; tarpinio serverio klausytojas priklauso agentui. HTTP tarpinių serverių sąrašas gali pasiūlyti kandidatų adresus, kai abu viešosios paslaugos galiniai taškai pasiekiami per jūsų pasirinktą tarpinį serverį.
tunnel.httpsOverHttp nustato HTTPS kelią per HTTP tarpinį serverį. proxy: false neleidžia SDK pritaikyti kitos įtaisytosios tarpinio serverio konfigūracijos ant šio pasirinktinio agento.
Jei anksčiau šiuos nustatymus pateikėte tik assistant, autentifikatorius yra trūkstama vieta, kurią reikia patikrinti. Pagrindinė autentifikacija ir jau išduotas nešėjo raktas turi skirtingus prieigos rakto gavimo ciklus, todėl šis papildomas IAM kelias taikomas čia naudojamam tinklo autentifikatoriui.