#botframework #ngrok #direct-line-botframework #web-chat
#botframework #ngrok #прямая линия-botframework #веб-чат
Вопрос:
Я пытаюсь подключить свой локальный клиент веб-чата к своему локальному боту, но он выдает 403. Я попытался добавить localhost:3000
(порт для моего веб-чата) в качестве надежного источника, но это все еще не помогает. Тем не менее, это работает просто отлично, если я использую эмулятор или postman (часть генерации токена для подключения через Directline)
Вот все, что я сделал:
- Запустил моего локального бота и использовал ngrok, чтобы сопоставить его с интернет-адресом.
- Изменена конечная точка обмена сообщениями на
https://xxxxx.ngrok.io/api/messages
- Настроил канал прямой связи, взял секретный ключ и использовал его в моем клиенте веб-чата react (работающем на порту 3000), чтобы установить прямое соединение, используя
createDirectLine
frombotframework-webchat
и передавая токен. Я подключаюсь к этому API в этом формате:
POST https://directline.botframework.com/v3/directline/tokens/generate
Authorization: Bearer SECRET
После этого консоль выдает ошибку 403 и не позволяет мне продолжить. Тем не менее, я могу сгенерировать токен через postman, и тот же URL-адрес ngrok отлично работает с эмулятором bot framework.
Пожалуйста, помогите мне понять, что я делаю не так. Я потратил большую часть своего дня на изучение этого шага и был бы очень признателен за вклад экспертов.
Спасибо.
Ответ №1:
отлично работает с эмулятором bot framework
При тестировании с помощью эмулятора вы используете имя пользователя / пароль или оно пустое? Убедитесь, что MicrosoftAppID
и MicrosoftAppPassword
настроены в боте при локальном запуске и вы используете NGROK для перехода по каналам.
Комментарии:
1. Я не использую имя пользователя или пароль. Это пустое @dana-v
2. Хорошо, при тестировании через Azure (даже при обратном указании на вашего локального запущенного бота через ngrok) вы должны указать идентификатор приложения и пароль, настроенные для регистрации каналов приложений / ботов.
3. Я уже пытался это сделать. Это выдает ту же ошибку 403, что и в веб-чате. Единственный способ, которым это работает, — через эмулятор без кредитов. Я прочитал несколько статей, и в них говорится, что мне нужно запустить автономный directline, чтобы это сработало. Попробую это и свяжусь с вами, если это сработает.
4. Удалось ли вам решить вашу проблему @NaserMohdBaig? Было бы здорово узнать, как (в этом случае), поскольку я сталкиваюсь с чем-то подобным.
5. @pgoldweic, я не помню этапы его настройки, поскольку он был из моей предыдущей компании, но использование offline-directline помогло мне: github.com/ryanvolum/offline-directline Лучшим местом для начала была бы документация к вышеуказанному пакету и некоторые методы проб и ошибок. Хотел бы я помочь вам больше. Почему бы вам не попробовать и не сообщить мне, если возникнут какие-либо ошибки? Возможно, он вернется ко мне, если я увижу какие-либо ошибки;) Удачи