सेवासम्म पुग्नुअघि 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 जाँच्न बाँकी रहेको ठाउँ हो। Basic authentication र पहिले नै जारी गरिएको bearer token को टोकन प्राप्ति जीवनचक्र फरक हुन्छ, त्यसैले यो थप IAM मार्ग यहाँ प्रयोग गरिएको नेटवर्क-आधारित authenticator मा लागू हुन्छ।

सम्बन्धित लेखहरू