Bot Framework v4:Teams至Azure Bot请求的自定义OAuth认证配置
Bot Connector到Bot的自定义OAuth认证方案说明
核心结论
Bot Framework v4原生不支持直接替换Bot Connector Service向Bot发起请求时的OAuth认证机制——这部分是Bot Framework服务与Bot之间的内置信任体系,硬编码依赖Microsoft Azure AD生成的令牌进行验证,没有开放自定义OAuth服务器的配置入口。
可行替代方案
结合你已部署的API网关,有两种可行的适配方式:
方案1:网关层叠加双重认证
- 保留Bot端的原生认证逻辑:Bot依然使用
Microsoft.Bot.Connector.Authentication包提供的中间件,验证来自Bot Connector的Azure AD令牌 - 网关新增自研认证校验:在API网关层先对所有进入的请求做自研OAuth服务器的认证,通过后再将请求(完整保留Bot Connector的
Authorization令牌头)转发到Bot端 - 优势:无需修改Bot核心逻辑,同时满足网关的自研认证要求
方案2:自定义消息接收端点
- 完全绕过Bot Framework的原生认证中间件,自行实现消息接收与验证逻辑:
- 网关配置自研OAuth认证,只放行通过认证的请求到自定义端点
- 自定义端点接收Teams消息 payload后,自行实现合法性验证(参考Bot Framework的验证规则,比如校验请求签名、来源IP范围、令牌有效性等)
- 处理消息后,调用Bot Connector API回复时,使用Azure Bot资源生成的AD令牌完成服务端认证
- 风险:需要自行维护完整的消息安全验证逻辑,容易遗漏安全细节,需严格对齐官方验证标准
额外说明
你提到的官方OAuth连接设置确实仅适用于用户向第三方在线服务认证的场景,和Bot Connector与Bot之间的服务级认证无关,无法用于当前需求。
内容的提问来源于stack exchange,提问作者Kong
相关产品推荐
相关产品推荐

