oauth-2.0 - 在注册 Azure OAuth 应用程序时,如何将身份验证添加到 Facebook 等服务提供商的 Microsoft Bot Framework
问题描述
我正在尝试设置使用 Facebook 作为使用 Microsoft 机器人框架的机器人的连接设置的能力。问题是本文档中并没有真正说明如何使用其他服务提供商,例如 Facebook、Google、Github 等。相反,该文档解释了 AAD v1 和 v2 设置。
混乱来自2点。
如何设置 Facebook 开发者应用
将哪些信息放入 Bot Framework Web 应用程序 bot -> 客户端 ID 和客户端密码的设置。
解决方案
我想提供答案,因为对于如何准确设置它有点困惑。 这是一篇很好地解释了该过程的文章。
要记住的是,您不必对 Active Directory 租户执行任何操作,即创建一个New App Registration
. 这就是原始文档产生混淆的地方。
相反,您只需在 azure bot 注册服务中直接创建 OAuth 连接。什么是注册应用服务?我很高兴你问,因为这是你需要考虑的真正棘手的部分。您的机器人托管在与应用服务计划绑定的 Azure 应用服务中。
但是,该服务的接口(通常认为是托管在服务器上的前端静态文件之类的网站接口,即 index.html)称为 Azure Web 应用程序,它是托管在 Azure 中并允许连接到通道的注册服务和 OAuth 交互。没有什么能很好地解释这一点,所以我在这里解释一下。
那么为什么这很重要?在这里,您可以打开 OAuth 连接并打开其他服务,例如 Facebook、Linkedin、Github、Google 等等。同样,您不需要在租户中为此注册新的应用程序,您只需直接转到 Web 应用服务即可。
在这里,您选择您设置的人,例如 Facebook,并在 Facebook 设置中使用此回调 url。https://token.botframework.com/.auth/web/redirect
现在,通过托管在 Azure 上的机器人,它可以直接与其他 OAuth 提供者通信,以向您返回令牌,而无需使用 Web App 服务。
我希望这对将来的某人有所帮助。
推荐阅读
- python - StereoBM 在静态图像和视频输出上的不同结果
- symfony - 在 Symfony 5 的模板子文件夹中使用公用文件夹中的文件
- macos - 运行简单的 Selenium Runner 测试时出现“NoSuchSessionError:此驱动程序实例没有有效的会话 ID”
- flask - Falsk "ssl_context" 指向 Google 颁发的 SSL 证书
- node.js - 在导航栏中显示用户名
- ios - 快速转换在类签名中具有泛型的具体类型
- node.js - 如何使用 id 更新 mongoDB 数据?
- javascript - 在引导程序 Vue 表中对行进行分组
- python-3.x - 从大型 request_body 中分块读取数据
- r - 从数据框中创建一个带有嵌套节点的 XML 文件