Как использовать пользовательский сервер аутентификации с бот-фреймворком? - PullRequest
1 голос
/ 17 февраля 2020

Я создаю бота, который работает на телеграмме Chanel. Когда пользователь общается с ботом, он должен знать, кто в чате. поэтому они должны проходить аутентификацию на моем сервере.

Я предполагаю, что бот отправит кнопку со ссылкой на мою конечную точку аутентификации (например: https://localhost: 8080 / auth? code = abcd123a ) , пользователь нажимает кнопку, а затем открывает ссылку в браузере, в котором зарегистрирован пользователь. Bot будет знать идентификатор пользователя, поскольку Bot и Server используют одну и ту же базу данных. Но как бот узнает, когда пользователь нажал на ссылку и прошел аутентификацию?

и эффективен ли этот шаблон (относительно задержки или пользовательского интерфейса)?

1 Ответ

1 голос
/ 18 февраля 2020

Вы можете добавить аутентификацию для вашего бота через Azure Bot Service через провайдеров идентификации OAuth. Ваша конечная точка аутентификации поддерживает OAuth? В этом случае ваш поток будет:

  1. Бот отправляет карту OAuth, перенаправляя на вашу конечную точку аутентификации.
  2. Пользователь входит в систему, сервер OAuth перенаправляет на конечную точку токена Bot Service.
  3. Bot Services извлекает токен и обрабатывает жизненный цикл токена.
  4. Бот извлекает действие с токеном и может использовать его для аутентификации.

Подробнее о служба токенов Bot Framework .

Служба бот Azure заботится о контроллерах OAuth и ссылках для входа в систему, хранит идентификаторы и секреты целевых клиентов и выполняет управление токенами пользователей. В противном случае вам придется самостоятельно выполнять все эти накладные расходы на собственных контроллерах OAuth + управлять жизненным циклом токена.

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