Вход в oauthCard открывает пустое окно

У меня есть следующий код:

import { ActivityTypes, CardFactory, TurnContext } from "botbuilder";

export class MyBot {
    /**
     * Handles incoming activity, received from a user, processes it, and replies as needed
     * @param {TurnContext} context on turn context object.
     */
    public onTurn = async (turnContext: TurnContext) => {
        const oauthCard = CardFactory.oauthCard("ms-graph", "Login", "Please sign in so I know who you are");
        return await turnContext.sendActivity({ attachments: [oauthCard] });
    }
}

Когда я запускаю бота в среде эмулятора бота, я вижу кнопку входа в систему. Однако, когда я нажимаю на него, он просто открывает пустое окно входа в систему, которое полностью белое.

Я также настроил аутентификацию в Azure:

введите здесь описание изображения

Изменить: я также настроил идентификатор приложения и пароль в своем файле .bot.


person AskYous    schedule 16.01.2019    source источник
comment
Настроен ли ngrok для эмулятора? docs.microsoft.com/en-us/azure/bot-service/   -  person Eric Dahlvang    schedule 17.01.2019
comment
Интересно. Это не. Но компания, в которой я работаю, блокирует его из соображений безопасности.   -  person AskYous    schedule 17.01.2019


Ответы (1)


Вместо ngrok можно использовать служебную шину Azure, что может вам подойти. Он работает почти так же, но среди других преимуществ дает вам контроль над тем, куда перемещаются ваши данные при «туннелировании». Поскольку это служба Azure, она может находиться в той же подписке, к которой у вас уже есть доступ.

Короче говоря, вы создадите локальное клиентское приложение, которое подключает вашего бота через ретранслятор к службе служебной шины Azure. Пространство имен/ретранслятор служебной шины заменяет конечную точку обмена сообщениями в параметрах бота в Azure (для тестирования). Таким образом, ваш бот, работающий на локальном хосте, может подключаться к внешним службам. Просто обязательно используйте ту же конечную точку в эмуляторе, что и в настройках бота Azure, включая «/api/messages».

Инструкции найдены здесь может помочь вам в процессе настройки и запуска. Шаги выглядят немного долго, но сам процесс довольно прост. Есть два варианта сборки: .NET Framework и .NET Core. Я бы порекомендовал версию «Framework», если вам не нужно запускать ее на Mac. Это не официальный блог MS (пока), но ожидайте, что он там появится.

Надежда на помощь!

person Steven Kanberg    schedule 21.01.2019