Երբ 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 ուղին վերաբերում է այստեղ օգտագործվող ցանցային նույնականացնողին։

Առնչվող հոդվածներ