Watson Node SDK proxybeállítások API- és IAM-kérésekhez
Ossza meg az alagút-ügynököt a Watson szolgáltatáskliens és annak IAM-hitelesítője között, hogy a token beszerzése használhassa a proxyt.
Amikor egy Watson-hívás a szolgáltatás elérése előtt meghiúsul, ellenőrizze, hogy a sikertelen kérés az IAM-tokenkérés-e. Az IAM-mal hitelesített hívás először az IAM-hoz, majd a szolgáltatáshoz fordulhat.
Egy olyan alkalmazásban, amely már használja a megfelelő Watson SDK-t és a tunnel függőséget, adja ugyanazokat a hálózati beállításokat mindkét objektumnak:
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,
});Tartsa meg az alkalmazás meglévő apiKey, serviceVersion és serviceUrl értékét. Az API- és IAM-végpontok továbbra is a szánt céljaik; a proxyfigyelő az ügynökben van. A HTTP-proxylista jelölt címeket kínálhat, ha mindkét nyilvános szolgáltatásvégpont elérhető az Ön által választott proxyn keresztül.
A tunnel.httpsOverHttp építi ki a HTTPS-útvonalat a HTTP-proxyn keresztül. A proxy: false megakadályozza, hogy az SDK egy másik beépített proxykonfigurációt alkalmazzon erre az egyedi ügynökre.
Ha korábban csak a assistant objektumnak adta meg ezeket a beállításokat, akkor a hitelesítő a hiányzó ellenőrzendő hely. Az alapvető hitelesítés és a már kiadott bearer token tokenbeszerzési életciklusa eltér, ezért ez a kiegészítő IAM-útvonal az itt használt hálózatalapú hitelesítőre vonatkozik.