API va IAM so'rovlari uchun Watson Node SDK proksi sozlamalari
Watson xizmat mijozi va uning IAM autentifikatori o'rtasida tunnel agentini ulashing, token olish proksidan foydalansin.
Watson chaqiruvi xizmatga yetmasdan muvaffaqiyatsiz bo'lsa, muvaffaqiyatsiz so'rov IAM token so'rovi ekanligini tekshiring. IAM bilan autentifikatsiya qilingan chaqiruv avval IAM bilan, keyin xizmat bilan bog'lanadi.
Tegishli Watson SDK va tunnel bog'liqligini allaqachon ishlatayotgan ilovada ikkala obyektga bir xil tarmoq sozlamalarini bering:
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,
});Ilovadagi mavjud apiKey, serviceVersion va serviceUrl ni saqlang. API va IAM so'nggi nuqtalari o'zlarining mo'ljallangan manzillari bo'lib qoladi; proksi tinglovchisi agentga tegishli. HTTP proksilar ro'yxatidan ikkala ommaviy xizmat so'nggi nuqtasiga siz tanlagan proksi orqali yetib borish mumkin bo'lganda nomzod manzillarni berishi mumkin.
tunnel.httpsOverHttp HTTP proksi orqali HTTPS yo'lini o'rnatadi. proxy: false SDK ning o'sha maxsus agent ustiga yana bir ichki proksi konfiguratsiyasini qo'llashini oldini oladi.
Agar ilgari bu sozlamalarni faqat assistant ga bergan bo'lsangiz, autentifikator tekshirilishi kerak bo'lgan yetishmayotgan joy. Asosiy autentifikatsiya va allaqachon berilgan bearer token token olishning turli hayot sikllariga ega, shuning uchun bu qo'shimcha IAM yo'li bu yerda ishlatiladigan tarmoqqa asoslangan autentifikatorga tegishli.