នៅពេលការហៅ 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 បង្កើតផ្លូវ HTTPS តាមរយៈប្រូកស៊ី HTTP។ proxy: false រារាំង SDK ពីការអនុវត្តការកំណត់ប្រូកស៊ីដែលមានស្រាប់ផ្សេងទៀតនៅលើភ្នាក់ងារផ្ទាល់ខ្លួននោះ។

ប្រសិនបើពីមុនអ្នកផ្តល់ការកំណត់ទាំងនេះតែទៅ assistant នោះអ្នកផ្ទៀងផ្ទាត់គឺជាកន្លែងដែលខ្វះដើម្បីពិនិត្យ។ ការផ្ទៀងផ្ទាត់មូលដ្ឋាន និងតូខេន bearer ដែលបានចេញរួចមានវដ្តជីវិតនៃការទទួលបានតូខេនផ្សេងគ្នា ដូច្នេះផ្លូវ IAM បន្ថែមនេះអនុវត្តចំពោះអ្នកផ្ទៀងផ្ទាត់ដែលផ្អែកលើបណ្តាញដែលប្រើនៅទីនេះ។

អត្ថបទពាក់ព័ន្ធ