Node.js 错误:BotFrameworkAdapter.processActivity():401错误

Node.js 错误:BotFrameworkAdapter.processActivity():401错误,node.js,docker,botframework,microsoft-graph-api,Node.js,Docker,Botframework,Microsoft Graph Api,向bot发送聊天信息时,其中一个adapter.processActivity突然失败,并显示以下两条错误消息: 1。错误消息: JwtTokenExtractor.getIdentity:err! ReferenceError: XMLHttpRequest is not defined dev_server | at /var/huforce/node_modules/whatwg-fetch/dist/fetch.umd.js:484:17 ... dev_serve

向bot发送聊天信息时,其中一个adapter.processActivity突然失败,并显示以下两条错误消息:

1。错误消息:

JwtTokenExtractor.getIdentity:err! ReferenceError: XMLHttpRequest is not defined
dev_server        |     at /var/huforce/node_modules/whatwg-fetch/dist/fetch.umd.js:484:17
...
dev_server        |     at /var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:14:71
dev_server        |     at new Promise (<anonymous>)
dev_server        |     at __awaiter (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:10:12)
dev_server        |     at OpenIdMetadata.getKey (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:30:16)
dev_server        |     at JwtTokenExtractor.<anonymous> (/var/huforce/node_modules/botframework-connector/lib/auth/jwtTokenExtractor.js:86:56)
(node:18) UnhandledPromiseRejectionWarning: Error: BotFrameworkAdapter.processActivity(): 401 ERROR
dev_server        |  ReferenceError: XMLHttpRequest is not defined
dev_server        |     at /var/huforce/node_modules/whatwg-fetch/dist/fetch.umd.js:484:17
dev_server        |     at new Promise (<anonymous>)
dev_server        |     at fetch (/var/huforce/node_modules/whatwg-fetch/dist/fetch.umd.js:477:12)
dev_server        |     at OpenIdMetadata.<anonymous> (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:54:31)
dev_server        |     at Generator.next (<anonymous>)
dev_server        |     at /var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:14:71
dev_server        |     at new Promise (<anonymous>)
dev_server        |     at __awaiter (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:10:12)
dev_server        |     at OpenIdMetadata.refreshCache (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:53:16)
dev_server        |     at OpenIdMetadata.<anonymous> (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:34:32)
dev_server        |     at Generator.next (<anonymous>)
dev_server        |     at /var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:14:71
dev_server        |     at new Promise (<anonymous>)
dev_server        |     at __awaiter (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:10:12)
dev_server        |     at OpenIdMetadata.getKey (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:30:16)
dev_server        |     at JwtTokenExtractor.<anonymous> (/var/huforce/node_modules/botframework-connector/lib/auth/jwtTokenExtractor.js:86:56)
dev_server        |     at BotFrameworkAdapter.<anonymous> (/var/huforce/node_modules/botbuilder/lib/botFrameworkAdapter.js:674:27)
dev_server        |     at Generator.throw (<anonymous>)
dev_server        |     at rejected (/var/huforce/node_modules/botbuilder/lib/botFrameworkAdapter.js:12:65)
dev_server        |     at processTicksAndRejections (internal/process/task_queues.js:97:5)
...
const bot = new Bot();
export const adapter = new BotFrameworkAdapter({
  appId: msteams.CLIENT_ID,
  appPassword: msteams.CLIENT_SECRET
});
MicrosoftAppCredentials.trustServiceUrl(
  "https://smba.trafficmanager.net/emea/"
);
...
expressApp.post("/bot", secure((req, res) => {
  
adapter.processActivity(req, res, async context => {  //  <--  error
    await bot.run(context);
  });
}));
JwtTokenExtractor.getIdentity:err!ReferenceError:未定义XMLHttpRequest
dev_server| at/var/huforce/node_modules/whatwg fetch/dist/fetch.umd.js:484:17
...
dev_server| at/var/huforce/node_modules/botframework connector/lib/auth/openIdMetadata.js:14:71
新承诺的开发服务器()
dev_server|at_uwaiter(/var/huforce/node_modules/botframework connector/lib/auth/openIdMetadata.js:10:12)
dev_server|位于OpenIdMetadata.getKey(/var/huforce/node_modules/botframework connector/lib/auth/OpenIdMetadata.js:30:16)
JwtTokenExtractor上的开发服务器。(/var/huforce/node_modules/botframework connector/lib/auth/jwtTokenExtractor.js:86:56)
2。错误消息:

JwtTokenExtractor.getIdentity:err! ReferenceError: XMLHttpRequest is not defined
dev_server        |     at /var/huforce/node_modules/whatwg-fetch/dist/fetch.umd.js:484:17
...
dev_server        |     at /var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:14:71
dev_server        |     at new Promise (<anonymous>)
dev_server        |     at __awaiter (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:10:12)
dev_server        |     at OpenIdMetadata.getKey (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:30:16)
dev_server        |     at JwtTokenExtractor.<anonymous> (/var/huforce/node_modules/botframework-connector/lib/auth/jwtTokenExtractor.js:86:56)
(node:18) UnhandledPromiseRejectionWarning: Error: BotFrameworkAdapter.processActivity(): 401 ERROR
dev_server        |  ReferenceError: XMLHttpRequest is not defined
dev_server        |     at /var/huforce/node_modules/whatwg-fetch/dist/fetch.umd.js:484:17
dev_server        |     at new Promise (<anonymous>)
dev_server        |     at fetch (/var/huforce/node_modules/whatwg-fetch/dist/fetch.umd.js:477:12)
dev_server        |     at OpenIdMetadata.<anonymous> (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:54:31)
dev_server        |     at Generator.next (<anonymous>)
dev_server        |     at /var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:14:71
dev_server        |     at new Promise (<anonymous>)
dev_server        |     at __awaiter (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:10:12)
dev_server        |     at OpenIdMetadata.refreshCache (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:53:16)
dev_server        |     at OpenIdMetadata.<anonymous> (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:34:32)
dev_server        |     at Generator.next (<anonymous>)
dev_server        |     at /var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:14:71
dev_server        |     at new Promise (<anonymous>)
dev_server        |     at __awaiter (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:10:12)
dev_server        |     at OpenIdMetadata.getKey (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:30:16)
dev_server        |     at JwtTokenExtractor.<anonymous> (/var/huforce/node_modules/botframework-connector/lib/auth/jwtTokenExtractor.js:86:56)
dev_server        |     at BotFrameworkAdapter.<anonymous> (/var/huforce/node_modules/botbuilder/lib/botFrameworkAdapter.js:674:27)
dev_server        |     at Generator.throw (<anonymous>)
dev_server        |     at rejected (/var/huforce/node_modules/botbuilder/lib/botFrameworkAdapter.js:12:65)
dev_server        |     at processTicksAndRejections (internal/process/task_queues.js:97:5)
...
const bot = new Bot();
export const adapter = new BotFrameworkAdapter({
  appId: msteams.CLIENT_ID,
  appPassword: msteams.CLIENT_SECRET
});
MicrosoftAppCredentials.trustServiceUrl(
  "https://smba.trafficmanager.net/emea/"
);
...
expressApp.post("/bot", secure((req, res) => {
  
adapter.processActivity(req, res, async context => {  //  <--  error
    await bot.run(context);
  });
}));
(节点:18)未处理的Promisejection警告:错误:BotFrameworkAdapter.processActivity():401错误
dev_服务器|引用错误:未定义XMLHttpRequest
dev_server| at/var/huforce/node_modules/whatwg fetch/dist/fetch.umd.js:484:17
新承诺的开发服务器()
dev_server|at fetch(/var/huforce/node_modules/whatwg fetch/dist/fetch.umd.js:477:12)
OpenIdMetadata上的开发服务器。(/var/huforce/node_modules/botframework connector/lib/auth/openIdMetadata.js:54:31)
dev_服务器|位于Generator.next()
dev_server| at/var/huforce/node_modules/botframework connector/lib/auth/openIdMetadata.js:14:71
新承诺的开发服务器()
dev_server|at_uwaiter(/var/huforce/node_modules/botframework connector/lib/auth/openIdMetadata.js:10:12)
dev_server|位于OpenIdMetadata.refreshCache(/var/huforce/node_modules/botframework connector/lib/auth/OpenIdMetadata.js:53:16)
OpenIdMetadata上的开发服务器。(/var/huforce/node_modules/botframework connector/lib/auth/openIdMetadata.js:34:32)
dev_服务器|位于Generator.next()
dev_server| at/var/huforce/node_modules/botframework connector/lib/auth/openIdMetadata.js:14:71
新承诺的开发服务器()
dev_server|at_uwaiter(/var/huforce/node_modules/botframework connector/lib/auth/openIdMetadata.js:10:12)
dev_server|位于OpenIdMetadata.getKey(/var/huforce/node_modules/botframework connector/lib/auth/OpenIdMetadata.js:30:16)
JwtTokenExtractor上的开发服务器。(/var/huforce/node_modules/botframework connector/lib/auth/jwtTokenExtractor.js:86:56)
位于BotFrameworkAdapter的开发服务器。(/var/huforce/node_modules/botbuilder/lib/botFrameworkAdapter.js:674:27)
dev_服务器|位于Generator.throw()
dev_server| at被拒绝(/var/huforce/node_modules/botbuilder/lib/botFrameworkAdapter.js:12:65)
dev_server|在processTicksAndRejections(internal/process/task_queues.js:97:5)
详细信息: 我通过App Studio创建了我的机器人。我没有azure订阅。我也不使用模拟器。bot在本地运行。我正在使用ngrok将请求通过隧道传输到我的PC。托管消息传递端点的nodejs服务器在docker容器中运行

我尝试过的:

JwtTokenExtractor.getIdentity:err! ReferenceError: XMLHttpRequest is not defined
dev_server        |     at /var/huforce/node_modules/whatwg-fetch/dist/fetch.umd.js:484:17
...
dev_server        |     at /var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:14:71
dev_server        |     at new Promise (<anonymous>)
dev_server        |     at __awaiter (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:10:12)
dev_server        |     at OpenIdMetadata.getKey (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:30:16)
dev_server        |     at JwtTokenExtractor.<anonymous> (/var/huforce/node_modules/botframework-connector/lib/auth/jwtTokenExtractor.js:86:56)
(node:18) UnhandledPromiseRejectionWarning: Error: BotFrameworkAdapter.processActivity(): 401 ERROR
dev_server        |  ReferenceError: XMLHttpRequest is not defined
dev_server        |     at /var/huforce/node_modules/whatwg-fetch/dist/fetch.umd.js:484:17
dev_server        |     at new Promise (<anonymous>)
dev_server        |     at fetch (/var/huforce/node_modules/whatwg-fetch/dist/fetch.umd.js:477:12)
dev_server        |     at OpenIdMetadata.<anonymous> (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:54:31)
dev_server        |     at Generator.next (<anonymous>)
dev_server        |     at /var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:14:71
dev_server        |     at new Promise (<anonymous>)
dev_server        |     at __awaiter (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:10:12)
dev_server        |     at OpenIdMetadata.refreshCache (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:53:16)
dev_server        |     at OpenIdMetadata.<anonymous> (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:34:32)
dev_server        |     at Generator.next (<anonymous>)
dev_server        |     at /var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:14:71
dev_server        |     at new Promise (<anonymous>)
dev_server        |     at __awaiter (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:10:12)
dev_server        |     at OpenIdMetadata.getKey (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:30:16)
dev_server        |     at JwtTokenExtractor.<anonymous> (/var/huforce/node_modules/botframework-connector/lib/auth/jwtTokenExtractor.js:86:56)
dev_server        |     at BotFrameworkAdapter.<anonymous> (/var/huforce/node_modules/botbuilder/lib/botFrameworkAdapter.js:674:27)
dev_server        |     at Generator.throw (<anonymous>)
dev_server        |     at rejected (/var/huforce/node_modules/botbuilder/lib/botFrameworkAdapter.js:12:65)
dev_server        |     at processTicksAndRejections (internal/process/task_queues.js:97:5)
...
const bot = new Bot();
export const adapter = new BotFrameworkAdapter({
  appId: msteams.CLIENT_ID,
  appPassword: msteams.CLIENT_SECRET
});
MicrosoftAppCredentials.trustServiceUrl(
  "https://smba.trafficmanager.net/emea/"
);
...
expressApp.post("/bot", secure((req, res) => {
  
adapter.processActivity(req, res, async context => {  //  <--  error
    await bot.run(context);
  });
}));
  • 我试过你(很棒)软件包的各种版本
  • 我检查了客户id和客户机密
  • 我创造了一个新的客户秘密
  • 我验证了我的客户id和客户机密
  • 我检查了我的消息端点
  • 我验证了系统时间
  • 我通过App Studio和
  • 手动安装xmlhttprequest
代码:

JwtTokenExtractor.getIdentity:err! ReferenceError: XMLHttpRequest is not defined
dev_server        |     at /var/huforce/node_modules/whatwg-fetch/dist/fetch.umd.js:484:17
...
dev_server        |     at /var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:14:71
dev_server        |     at new Promise (<anonymous>)
dev_server        |     at __awaiter (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:10:12)
dev_server        |     at OpenIdMetadata.getKey (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:30:16)
dev_server        |     at JwtTokenExtractor.<anonymous> (/var/huforce/node_modules/botframework-connector/lib/auth/jwtTokenExtractor.js:86:56)
(node:18) UnhandledPromiseRejectionWarning: Error: BotFrameworkAdapter.processActivity(): 401 ERROR
dev_server        |  ReferenceError: XMLHttpRequest is not defined
dev_server        |     at /var/huforce/node_modules/whatwg-fetch/dist/fetch.umd.js:484:17
dev_server        |     at new Promise (<anonymous>)
dev_server        |     at fetch (/var/huforce/node_modules/whatwg-fetch/dist/fetch.umd.js:477:12)
dev_server        |     at OpenIdMetadata.<anonymous> (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:54:31)
dev_server        |     at Generator.next (<anonymous>)
dev_server        |     at /var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:14:71
dev_server        |     at new Promise (<anonymous>)
dev_server        |     at __awaiter (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:10:12)
dev_server        |     at OpenIdMetadata.refreshCache (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:53:16)
dev_server        |     at OpenIdMetadata.<anonymous> (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:34:32)
dev_server        |     at Generator.next (<anonymous>)
dev_server        |     at /var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:14:71
dev_server        |     at new Promise (<anonymous>)
dev_server        |     at __awaiter (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:10:12)
dev_server        |     at OpenIdMetadata.getKey (/var/huforce/node_modules/botframework-connector/lib/auth/openIdMetadata.js:30:16)
dev_server        |     at JwtTokenExtractor.<anonymous> (/var/huforce/node_modules/botframework-connector/lib/auth/jwtTokenExtractor.js:86:56)
dev_server        |     at BotFrameworkAdapter.<anonymous> (/var/huforce/node_modules/botbuilder/lib/botFrameworkAdapter.js:674:27)
dev_server        |     at Generator.throw (<anonymous>)
dev_server        |     at rejected (/var/huforce/node_modules/botbuilder/lib/botFrameworkAdapter.js:12:65)
dev_server        |     at processTicksAndRejections (internal/process/task_queues.js:97:5)
...
const bot = new Bot();
export const adapter = new BotFrameworkAdapter({
  appId: msteams.CLIENT_ID,
  appPassword: msteams.CLIENT_SECRET
});
MicrosoftAppCredentials.trustServiceUrl(
  "https://smba.trafficmanager.net/emea/"
);
...
expressApp.post("/bot", secure((req, res) => {
  
adapter.processActivity(req, res, async context => {  //  <--  error
    await bot.run(context);
  });
}));
。。。
const bot=新bot();
export const adapter=新的BotFrameworkAdapter({
appId:msteams.CLIENT_ID,
appPassword:msteams.CLIENT\u SECRET
});
MicrosoftAppCredentials.trustServiceUrl(
"https://smba.trafficmanager.net/emea/"
);
...
expressApp.post(“/bot”),安全((请求、恢复)=>{

adapter.processActivity(req、res、异步上下文=>{//您好,欢迎来到SO。对我来说,您似乎没有安装
XMLHttpRequest
节点模块。您可以共享到git repo的链接吗?另外,我认为您的密钥问题与此无关,因此您可以安全地从问题中删除该部分。@JurijsKovzels感谢您的回答。是的,我可以验证这些问题是否正确两个问题不相关。但是添加xmlhttprequest库并不能解决问题。请查看我的编辑。您好,欢迎使用SO。对我来说,您似乎没有安装
xmlhttprequest
节点模块。您可以共享指向git repo的链接吗?另外,我认为您的密钥问题与此无关,因此您可以安全地访问从问题中删除该部分。@JurijsKovzels感谢您的回答。是的,我可以验证这两个问题是否相互关联。但是添加xmlhttprequest库并不能解决此问题。请查看我的编辑。