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

VS Code使用DefaultAzureCredential连接Azure Digital Twins出现getToken错误

故障解决:Azure Digital Twins JS SDK调用时AzureCliCredential.getToken报JSON输入意外结束错误

根因说明

该错误是@azure/identity包调用Azure CLI获取访问令牌时,拿到的输出内容并非合法JSON格式,导致解析失败,和业务代码逻辑无关,常见触发原因包括Windows终端编码不兼容、运行会话不匹配、SDK版本兼容问题。

解决方案

  • 确认运行会话一致性:不要使用VS Code右上角的一键运行功能,直接在你已经执行过az login、验证过az account get-access-token命令可正常返回令牌的Powershell终端中,执行node index.js运行代码。VS Code一键运行会新开独立的终端进程,该进程不会继承你之前登录的Azure CLI凭证,且如果默认终端为CMD会导致输出编码异常,触发JSON解析错误。
  • 统一终端编码为UTF-8:在运行代码的Powershell终端先执行以下命令,修正编码问题,避免Azure CLI返回的JSON带不可见乱码:
$OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding

如果需要永久生效,可将该配置写入Powershell的用户配置文件中。

  • 设置对应默认订阅:确保当前Azure CLI的默认订阅为Azure Digital Twins实例所在的订阅,执行命令指定:
az account set --subscription "你的ADT实例所属的订阅ID或订阅名称"
  • 降级@azure/identity到兼容版本:部分高版本@azure/identity在Windows环境下的AzureCliCredential逻辑存在已知兼容问题,可执行命令安装稳定兼容版本测试:
npm install @azure/identity@2.1.0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 21:06:03