Интеграция Dialogflow и Skype - аутентификация пользователя при подключении к базе данных MySQL

Я новичок в ChatBot, использующем Google Dialogflow, и мне нужно интегрировать встроенный со Skype. В сети есть много документов, на которые я могу сослаться.

Прежде чем пользователь использует этого чат-бота в Skype, я хочу выполнить аутентификацию пользователя с помощью ChatBot, задав несколько вопросов, например «Как вас зовут?» И «Из какого вы отдела?» т.е. я хочу, чтобы чат-бот изначально подключался к БД сервера моей компании и проверял данные пользователя, чтобы выполнить аутентификацию.

Не могли бы вы предложить мне несколько хороших справочных ссылок (может быть, с реализацией python или Node.Js подойдет) или какие-либо примеры, пожалуйста?


person dhinar    schedule 18.11.2019    source источник


Ответы (1)


Обычно здесь нужно сделать следующее:

  1. Создайте диалог в Dialogflow, который задаст необходимые вопросы аутентификации, как вы упомянули, и сохраните его в context / parameters.
  2. Вызовите свой веб-перехватчик с собранными параметрами. Подробная информация о веб-перехватчиках находится здесь.
  3. Webhook аутентифицирует пользователя (или нет). Вы можете, например, использовать этот пакет и аутентифицировать приходящий конкретный идентификатор сеанса из Dialogflow.
  4. Ваша книга может отправлять пользователю событие в формате здесь. Например:
{
  followupEventInput: {
    'name': "user-authenticated",
    'parameters': "",
    'languageCode': "en"
  }
}

Это приведет к программному запуску намерения с правильным ответом пользователя (аутентифицированным или нет). Подробнее о событиях читайте здесь.

  1. Для любых последующих запросов Dialogflow ваш бэкэнд / веб-перехватчик будет знать, авторизован ли sessionId для доступа к определенному ресурсу, поэтому вы можете действовать соответствующим образом. Механизм событий также можно использовать в случае, если вы хотите получить более конфиденциальный контент из своей БД.

Я также могу представить сценарий, в котором вы используете один агент Dialogflow только для аутентификации, а затем, после успешной аутентификации, вы связываете пользователя с другим.

Надеюсь, это поможет!

person flaesh    schedule 18.11.2019
comment
Привет, Флаеш, большое спасибо. Могу ли я узнать, есть ли другой способ без веб-перехватчика? - person dhinar; 19.11.2019
comment
Привет, Дхинар, боюсь, что нет. Для внутренних серверов нет встроенного механизма аутентификации. Вам нужно будет использовать Webhook. - person flaesh; 19.11.2019