You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bot Framework V4机器人:Emulator可用但Web Chat/Teams通道无法使用

解决Bot Framework V4 Java/Spring Boot机器人Web Chat/Teams通道未授权问题

问题核心原因

Azure Bot Service的Web Chat、Teams等正式通道要求机器人必须完成身份验证。你未配置MicrosoftAppId和MicrosoftAppPassword,导致服务拒绝请求,返回HTTP status code Unauthorized。而Bot Framework Emulator本地测试时支持跳过身份验证,所以能正常运行。

具体解决步骤

  • 获取Azure Bot的身份验证参数
    登录Azure门户,找到你的Azure Bot Service资源:

    • 进入「配置」页面,复制「Microsoft应用ID」;
    • 若没有密码,点击「管理密码」,创建新的客户端密码(务必记录密码,仅显示一次)。
  • 在Spring Boot项目中配置参数
    在application.properties(或application.yml)中添加:

    bot.microsoft-app-id=你的MicrosoftAppId
    bot.microsoft-app-password=你的MicrosoftAppPassword
    

    确保Bot配置类读取这些参数,示例代码:

    @Configuration
    public class BotConfig {
        @Value("${bot.microsoft-app-id}")
        private String appId;
    
        @Value("${bot.microsoft-app-password}")
        private String appPassword;
    
        @Bean
        public BotFrameworkHttpAdapter botFrameworkHttpAdapter() {
            Configuration config = new Configuration();
            config.set("MicrosoftAppId", appId);
            config.set("MicrosoftAppPassword", appPassword);
            return new BotFrameworkHttpAdapter(config);
        }
    }
    
  • 验证消息端点配置
    确认Azure Bot「配置」页面的消息端点为https://<你的Web App名称>.azurewebsites.net/api/messages,与Spring Boot项目暴露的端点一致(默认是/api/messages)。

  • 重新部署项目到Azure Web App
    将更新配置后的项目重新打包部署,确保配置参数已正确加载到Azure环境。

  • 测试通道功能
    回到Azure Bot Service的「通道」页面,测试Web Chat发送消息;Teams通道需重新关联或刷新后验证功能。

内容的提问来源于stack exchange,提问作者Jay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 04:30:58