API اور IAM درخواستوں کے لیے Watson Node SDK پراکسی سیٹنگز
Watson سروس کلائنٹ اور اس کے IAM authenticator کے درمیان ٹنل ایجنٹ شیئر کریں تاکہ ٹوکن کی حصول پراکسی استعمال کر سکے۔
جب 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 کو دیتے تھے، تو authenticator وہ گمشدہ جگہ ہے جسے جانچنا چاہیے۔ بنیادی تصدیق اور پہلے سے جاری کردہ bearer ٹوکن کے ٹوکن حصول کے دورانیے مختلف ہیں، اس لیے یہ اضافی IAM راستہ یہاں استعمال ہونے والے نیٹ ورک پر مبنی authenticator پر لاگو ہوتا ہے۔