Watson Node SDK starpniekservera iestatījumi API un IAM pieprasījumiem
Kopīgojiet tuneļa aģentu starp Watson pakalpojuma klientu un tā IAM autentifikatoru, lai pilnvaras iegūtu caur starpniekserveri.
Kad Watson izsaukums neizdodas pirms pakalpojuma sasniegšanas, pārbaudiet, vai neizdevušais pieprasījums nav IAM pilnvaras pieprasījums. Ar IAM autentificēts izsaukums vispirms var sazināties ar IAM un pēc tam ar pakalpojumu.
Lietojumprogrammā, kas jau izmanto attiecīgo Watson SDK un tunnel atkarību, abiem objektiem norādiet vienus un tos pašus tīkla iestatījumus:
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,
});Saglabājiet lietojumprogrammas esošos apiKey, serviceVersion un serviceUrl. API un IAM galapunkti paliek paredzētie galamērķi; starpniekservera klausītājs pieder aģentam. HTTP starpniekserveru saraksts var nodrošināt kandidātadreses, ja abus publiskā pakalpojuma galapunktus var sasniegt caur jūsu izvēlētu starpniekserveri.
tunnel.httpsOverHttp izveido HTTPS ceļu caur HTTP starpniekserveri. proxy: false neļauj SDK uz šī pielāgotā aģenta uzlikt vēl vienu iebūvētu starpniekservera konfigurāciju.
Ja iepriekš šos iestatījumus norādījāt tikai assistant, autentifikators ir trūkstošā vieta, kas jāpārbauda. Pamata autentifikācijai un jau izsniegtai nesēja pilnvarai ir atšķirīgi pilnvaras iegūšanas cikli, tāpēc šis papildu IAM ceļš attiecas uz šeit izmantoto tīkla autentifikatoru.