একটি 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 পথটি এখানে ব্যবহৃত নেটওয়ার্ক-ভিত্তিক প্রমাণকর্তার জন্য প্রযোজ্য।

সম্পর্কিত নিবন্ধ