oauthCard登录打开空白窗口

时间:2019-01-16 00:37:36

标签: botframework azure-bot-service azure-authentication

我有以下代码:

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] });
    }
}

当我在bot模拟器框架中运行bot时,看到登录按钮。但是,当我单击它时,它只会打开一个全为白色的空白登录窗口。

我还在Azure中配置了身份验证:

enter image description here

编辑:我还在.bot文件中配置了应用ID和密码。

1 个答案:

答案 0 :(得分:0)

有一个选项可以使用Azure Service Bus代替ngrok,它可能对您有用。它的功能大致相同,但除了其他好处外,还使您可以控制“隧道”时数据在何处传输。由于它是Azure服务,因此可以与您已经访问的订阅相同。

简而言之,您将创建一个本地客户端应用程序,该程序通过中继将您的机器人连接到Azure Service Bus服务。服务总线名称空间/中继将替换Azure中漫游器设置中的消息传递终结点(用于测试)。这样,您在本地主机上运行的机器人就可以连接到外部服务。只需确保在Azure机器人设置中使用的模拟器中使用相同的终结点,包括“ / api / messages”。

here中找到的说明可以指导您完成设置和运行过程。这些步骤看起来有些冗长,但是过程本身相当简单。有两个选项可以构建:.NET Framework和.NET Core。我建议使用“框架”版本,除非您需要在Mac上运行它。这还不是官方的MS博客,但希望它能在那里出现。

希望有帮助!

相关问题