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 файл.

1 ответ

Существует возможность использовать Azure Service Bus вместо ngrok, который может работать для вас. Он функционирует почти так же, но дает вам контроль над тем, куда перемещаются ваши данные при "туннелировании", помимо других преимуществ. Поскольку это служба Azure, она может находиться в той же подписке, к которой у вас уже есть доступ.

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

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

Надеюсь на помощь!

Другие вопросы по тегам