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

如何在node-mssql中配置Azure AD身份验证以使用JSON处理功能?

配置失效的核心原因

你的配置确实存在结构问题,这是自定义认证配置没有覆盖顶层user/password的根本诱因:

  • node-mssql的配置读取有固定优先级:只要根节点下存在非空的user、password顶层字段,框架会直接优先使用这两个值构建认证参数,完全忽略options字段下透传给tedious的自定义认证配置,这也是报错信息始终返回顶层user取值的直接原因。
  • 透传tedious原生自定义认证时,必须删除根节点的user、password字段。如果需要使用Azure AD密码认证这类非默认SQL账号密码认证方式,保留顶层账号字段会直接拦截tedious原生配置的加载流程。
调整后的可用配置示例
const sqlConfig = {
    server: process.env.SQL_SERVER,    
    database: process.env.DATABASE_NAME,
    // 移除原顶层的user、password字段,避免优先级覆盖
    options: {
        encrypt: true,             
        authentication: {
            type: "azure-active-directory-password",                         
            options: {
                userName: "root.options.authentication.options.userName",                    
                password: "password"                    
            }
        }
    },
    // 直接在根节点启用node-mssql提供的JSON处理实用功能
    parseJSON: true
};

版本兼容提示:如果移除顶层账号字段后配置依然不生效,可以检查当前使用的node-mssql版本,v7及更早版本存在配置透传的已知bug,升级到v8及以上版本即可正常读取tedious原生认证配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.23 19:27:01