关于Azure Bot部署的求助:Direct Line与Web Chat出现授权错误
问题背景
已完成以下部署操作:
- 从Azure OpenAI Service下载代码压缩包
- 将压缩包部署至Azure,自动完成Azure Bot Service创建
- 配置了3个渠道:Direct Line、Teams App、Web Chat
- Teams App渠道运行正常,但Direct Line与Web Chat渠道发送消息时提示向你的Bot发送消息时出错:HTTP状态码Unauthorized
排查与解决步骤
1. 验证Direct Line密钥有效性
- 登录Azure Portal,进入目标Bot Service资源,切换至「渠道」选项卡,找到Direct Line渠道
- 查看主密钥/辅助密钥状态,若密钥过期或复制错误,点击「重新生成」获取新密钥,并更新到Web Chat嵌入代码或Direct Line客户端的配置中
- 确认客户端调用时使用的是Direct Line专属密钥,而非Bot的Microsoft App ID或密码
2. 检查Web Chat嵌入配置
- 若使用官方Web Chat嵌入代码,确保代码中的
directLineSecret参数对应最新的Direct Line密钥;若使用令牌认证,验证令牌生成逻辑是否正确获取有效权限 - 测试阶段可直接使用有效密钥嵌入代码,确认是否能正常通信,排除密钥配置错误
3. 核对Bot的Microsoft App身份信息
- 进入Bot Service的「配置」选项卡,确认Microsoft App ID和客户端密码(或托管标识)配置正确且未过期
- 若使用托管标识,检查标识是否拥有访问Azure Bot Service相关资源的权限
4. 排查Bot服务的网络访问限制
- 若Bot部署在虚拟网络、App Service环境或有防火墙规则,确保允许Direct Line服务的IP地址范围访问Bot的消息端点(
https://<你的Bot域名>/api/messages) - 使用Postman等工具直接调用Bot消息端点,验证端点是否能正常响应,排除网络连通性问题
5. 确认渠道启用状态
- 检查Direct Line和Web Chat渠道的注册状态,确保渠道已完成配置并处于「已启用」状态,若状态异常,重新完成渠道注册流程
内容的提问来源于stack exchange,提问作者Devang Zala
相关产品推荐
相关产品推荐

