Экспресс-сессия не работает с DialogFlow - PullRequest
0 голосов
/ 03 октября 2018

Я развернул приложение Express на Heroku, установил свой веб-хук на адрес и с помощью моего агента DG отправляю запрос на конечную точку на Heroku.Webhook передает тело параметров другому веб-сервису, и это нормально.Мне нужно отслеживать cookie, которые веб-служба передает обратно, чтобы отправить их обратно, чтобы сохранить контекст разговора.

В данный момент я сохраняю файл на сервере с идентификатором сеанса Express (req.session.id) и значение cookie.Все работает, если я делаю POST-вызов через Postman или через форму, поэтому предположим, что веб-приложение правильно отслеживает сеансы.Напротив, если я тестирую свой webhook с агентом DialogFlow, я получаю новый идентификатор сеанса для каждого запроса к моей конечной точке на Heroku.Я не понимаю почему ... Что мне не хватает?

1 Ответ

0 голосов
/ 04 октября 2018

Я не верю, что вы можете полагаться на запрос DialogFlow о сохранении cookie для вас.

Мы используем DialogFlow, Google Actions и Node.js.Мы сохраняем информацию о сеансе, включая данные в ответ, который мы отправляем обратно, и затем читаем их при поступлении следующего запроса. При записи ответа мы помещаем наши данные сеанса (JSON) в атрибут assistant.data.При получении запроса мы получаем данные сеанса от входящего event.body.

Мы рассматривали попытку использования уникального идентификатора входящего запроса, такого как идентификатор пользователя или идентификатор устройства, но не преследовали его..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...