సేవకు చేరుకోకముందే 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 టోకెన్‌కు వేర్వేరు టోకెన్ పొందే చక్రాలు ఉంటాయి, కాబట్టి ఈ అదనపు IAM మార్గం ఇక్కడ ఉపయోగించే నెట్‌వర్క్ ఆధారిత authenticator‌కు వర్తిస్తుంది.

సంబంధిత వ్యాసాలు