BOT для использования компанией

У меня есть BOT, который отвечает на вопросы продавцов, но мне нужно убедиться, что только пользователи в Azure Active Directory моей компании могут получить доступ к BOT. Есть ли способ разрешить Skype для бизнеса только пользователям и авторизоваться на основе их токенов доступа?

Спасибо

Терри


person Terry Carter    schedule 01.08.2016    source источник
comment
Итак, вы хотите, чтобы ваш бот мог получать сообщения по каналам Facebook, Skype и т. Д. Только от пользователей, которые также зарегистрированы в Skype для бизнеса?   -  person Thegaram    schedule 02.08.2016
comment
Я согласен с тем, что пользователь приходит из любого клиентского приложения, если он может доказать, что использует свою рабочую учетную запись (не facebook, учетную запись Microsoft и т. Д.). Я упомянул Skype для бизнеса, поскольку он интегрируется с Azure AD, и я предполагаю, что смогу получить токен их пользователя из AAD.   -  person Terry Carter    schedule 02.08.2016


Ответы (3)


Вы можете отправить пользователю ссылку, которая переводит его на страницу аутентификации AAD, с URL-адресом обратного вызова, указывающим на вашу службу. Как только вы получите обратный вызов, установите состояние пользователя (в UserBotData) как прошедшее проверку подлинности. Я считаю, что это может помочь вам в реализации.

person Thegaram    schedule 01.08.2016

СПОСОБ 1 (Oauth)

Шаг 1. Если context.PrivateConversationData.GetValue("authenticated") имеет значение false

Шаг 2. Верните ссылку для аутентификации в чат (включая callbackurl в URL-адресе)

Примечание: на шаге 2 вы можете включить ResumptionCookie, чтобы разрешить возможность возобновления разговора позже.

В примере кода ботфреймворка у них есть отличная демонстрация (https://github.com/Microsoft/BotBuilder/blob/master/CSharp/Samples/SimpleFacebookAuthBot/Controllers/OAuthCallbackController.cs)

Шаг 3. Когда пользователь аутентифицирован и перенаправляется на заданный вами callbackurl, установите context.PrivateConversationData.Setvalue("authenticated", true);

МЕТОД 2 (встроенная аутентификация)

Шаг 1: проверьте, аутентифицирован ли пользователь (аналогично описанному выше)

Шаг 2. Попросите пользователя ввести свой ADID в ваш Azure Active Directory.

Шаг 3: найдите его электронную почту или любой уникальный идентификатор, сгенерируйте OTP, отправьте на его номер мобильного телефона

Шаг 4. Проверьте OTP, отправленный пользователем

Шаг 5: Установите PrivateConversationData (аналогично указанному выше).

У Google есть отличная библиотека для создания и проверки одноразовых паролей (https://www.nuget.org/packages/GoogleAuthenticator/1.0.0)

person Kien Chu    schedule 02.08.2016

Вы можете аутентифицировать пользователей своего бота по их корпоративной учетной записи AAD, используя такую ​​библиотеку, как botauth.

Вот пример бота. https://github.com/MicrosoftDX/botauth/blob/master/examples/aadv2/app.js

person Matt Dotson    schedule 31.03.2017