Проблема:
Ошибка: ошибка POST для 'https://CortanaBFChannelWestUS.azurewebsites.net/v3/conversations/../activities/6TZfwIQ7Fqv': сбой: [500] Внутренняя ошибка сервера при запросе обратного вызова (D: \ home \ site \ wwwroot \)node_modules \ botbuilder \ lib \ bots \ ChatConnector.js: 675: 46) в Request.self.callback (D: \ home \ site \ wwwroot \ node_modules \ request \ request.js: 185: 22) в emitTwo (events.js): 106: 13) на Request.emit (events.js: 191: 7) на запрос.(D: \ home \ site \ wwwroot \ node_modules \ request \ request.js: 1161: 10) в emitOne (events.js: 96: 13) в Request.emit (events.js: 188: 7) в IncomingMessage.(D: \ home \ site \ wwwroot \ node_modules \ request \ request.js: 1083: 12) в IncomingMessage.g (events.js: 291: 16) в emitNone (events.js: 91: 20)
Архитектура: Веб-бот Aure: NodeJS SDKv3 Microsoft App Dev Luis Каналы: Web / Cortana / Skype OAuth
Сценарий: При достижении цели на основеСказанное приложение успешно отображает пользователю карту входа в систему и просит пользователя выполнить вход
Снимок экрана входа в приложение
После этого пользовательможет успешно войти в систему с использованием учетных данных, которые аутентифицируются с помощью OAuth для доступа к Office 365
ScreenShot после входа в систему
TestCase: Канал Skype:Успешное отображение и вход в сеть Channel Web: Успешное отображение и вход в систему Channel Cortana: Ошибка (нет отображения карты «входа»)
Channel Cortana: Ошибка (Нет отображения карты «входа») Теперь я являюсьс помощью приложения Cortana на iphone и для того же действия высказывания намерения это то, чтопроисходит
Снимок экрана Вызов канала Cortana
И ошибка, отображаемая на консоли, показана выше
Примечания:
В рамках платформы Web-Bot Когда для канала OAuth используется Skype или Web, обратный вызов для OAuth отображается на
server.get('/api/OAuthCallback',
passport.authenticate('azuread-openidconnect', { failureRedirect: '/'}),
(req, res) => {
const address = JSON.parse(req.query.state);
const messageData = { accessToken: req.user.accessToken, refreshToken: req.user.refreshToken, userId: address.user.id, name: req.user.displayName};
var continueMsg = new builder.Message().address(address).text(JSON.stringify(messageData));
bot.receive(continueMsg.toMessage());
res.send('Welcome ' + req.user.displayName + '. Login successful. You can close this browser window')
});
Основная идея для OAuth, реализованная так:URl сопоставляется с обратным вызовом, как определено в Web-App-Platform.
Но Кортана говорит Аутентификация MSA Cortana , и это не сработало
- Для одного URL там сопоставляется https://www.bing.com/agents/oauth вместо определенного обратного вызовав web-app-bot-url / api / OAuthCallback
- Может кто-нибудь объяснить, как работает Аутентификация для Cortana, учитывая указанную ими арку
Может кто-нибудь пролить свет нав чем именно заключается проблема, которую я знаю, я упускаю что-то важное, что касается понимания.
Спасибо