API жана IAM суроолору үчүн Watson Node SDK прокси жөндөөлөрү
Токен алуу проксини колдоно алышы үчүн туннель агентти 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 HTTP прокси аркылуу HTTPS жолун түзөт. proxy: false SDKнын ошол ыңгайлаштырылган агенттин үстүнө дагы бир курулган прокси конфигурациясын колдонушун алдын алат.
Бул жөндөөлөрдү мурда assistant объектисине гана берген болсоңуз, аутентификатор текшерүүгө тийиш болгон жетишпеген жер. Негизги аутентификация менен мурун берилген bearer токендин токен алуу жашоо циклдери ар башка, ошондуктан бул кошумча IAM жолу ушул жерде колдонулган тармакка негизделген аутентификаторго тиешелүү.