context.sendActivity(CardFactory.oauthCard(...))看起来要简单得多,但是不起作用

时间:2019-01-26 02:01:25

标签: javascript node.js oauth botframework

我希望自己编写身份验证步骤,而不是克隆样本存储库,以便我能更好地理解。为了保持简单,我将onTurn函数更改为:

public onTurn = async (context: TurnContext) => {
    if (context.activity.type === ActivityTypes.Message) {
        await context.sendActivity(CardFactory.oauthCard( ... );
    }
};

但是当我在机器人仿真器中对其进行测试时,没有显示oauth卡,也没有任何其他响应。但是,当我在GitHub中测试 bot-authentication-msgraph 示例时,它可以正常工作。我不能只使用一行代码来验证用户身份:context.sendActivity(CardFactory.oauthCard( ... )吗?

1 个答案:

答案 0 :(得分:2)

CardFactory.oauthCard会将卡片制作为附件,但是您仍然必须将其添加到活动中才能将其发送出去。这应该可以满足您的需求:

await context.sendActivity(MessageFactory.attachment(CardFactory.oauthCard(...)));