کله چې د 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 لار دلته کارول شوي شبکهيي تصدیق کوونکي لپاره صدق کوي.

اړوندې مقالې