Подешавања проксија у Watson Node SDK за API и IAM захтеве
Делите агент тунела између Watson клијента услуге и његовог IAM аутентикатора да би се токен добијао преко проксија.
Када Watson позив не успе пре него што стигне до услуге, проверите да ли је неуспели захтев захтев за IAM токен. Позив аутентификован преко IAM-а може прво контактирати IAM, а затим услугу.
У апликацији која већ користи одговарајући Watson SDK и зависност tunnel, дајте исте мрежне поставке оба објекта:
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,
});Задржите постојеће apiKey, serviceVersion и serviceUrl апликације. API и IAM крајња тачка остају њихова предвиђена одредишта; прокси слушалац припада агенту. листе HTTP проксија може дати кандидатске адресе када се обе јавне крајње тачке услуге могу достићи преко проксија који одаберете.
tunnel.httpsOverHttp успоставља HTTPS пут преко HTTP проксија. proxy: false спречава SDK да на тај прилагођени агент примени још једну уграђену прокси конфигурацију.
Ако сте раније ове поставке давали само објекту assistant, аутентикатор је место које недостаје и које треба проверити. Основна аутентификација и већ издати bearer токен имају различите циклусе добијања токена, па се овај додатни IAM пут односи на мрежни аутентикатор који се овде користи.