如何在不在 Azure 中托管我的机器人的情况下执行 Graph 身份验证?

How to perform Graph auth without hosting my bot in Azure?

据我了解,OAuthPrompt 需要连接名称。要创建它,我需要使用 Bot Channels Registration(根据 the documentation)。但是,这似乎需要我创建一个 Azure 帐户并输入我的支付卡详细信息。我希望尽可能避免输入我的详细信息,因为我不希望因使用任何 Azure 服务而被收费。有什么办法可以避免这种情况吗?

如果我必须手动处理 OAuth 流程,我希望我的登录弹出一个小 window,就像 Who 机器人中的 "Allow" 按钮触发器一样。我已经尝试过 SignIn 卡,我读过的卡在团队中不起作用,我也尝试过卡中的 OpenUrl 类型操作,当按下时,在我的浏览器中打开 URL 而不是弹出窗口.我怎样才能做到这一点?

您可以使用此处的指南创建 Bot Framework 机器人(仅适用于 Microsoft Teams):https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/bots/bots-create. To summarize that article, you can use this endpoint to create a non-Azure bot: https://dev.botframework.com/bots/new

如果您选择使用 Azure Bot Framework,并且 Microsoft Teams 是您的唯一渠道,那么您将不会为 Bot Framework 付费(如果您选择在 Azure 上托管您的机器人代码,这不包括您的 Web 服务,尽管您可以选择免费套餐以避免产生任何费用)。

有关身份验证,请参阅 MS Teams 文档的这一部分:https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/authentication/authentication。根据您选择如何实施身份验证,该部分中的几篇文章可能适用。 OAuth 卡在 Teams 中有效(不是免费版本,不适用于来宾帐户,并且仅适用于 Azure 机器人)。

对于身份验证,如果您要重定向到其他域,请确保将其添加到应用清单中的 validDomains。