如何将 Azure AD 身份验证与 node-mssql 结合使用?

时间:2021-04-24 21:32:38

标签: node.js azure-active-directory azure-sql-database tedious

所以我使用 tedious 建立了一个连接,但 node-mssql 中用于处理 JSON 的选项非常有用,我想访问它。

node-mssql 的 documentation 表示您可以传递一个带有身份验证设置的对象,这些设置很乏味,它将覆盖用户/密码属性,但它绝对不会这样做。我可以确认,因为错误消息与用户属性的值一起返回。

配置对象有问题吗?

const sqlConfig = {
    server: process.env.SQL_SERVER,    
    database: process.env.DATABASE_NAME,
    user: "root.user",                    
    password: "password",       
    options:
    {
        encrypt: true,             
        authentication: {
            type: "azure-active-directory-password",                         
            options: {
                userName: "root.options.authentication.options.userName",                    
                password: "password"                    
                }
        },
    }
};

2 个答案:

答案 0 :(得分:1)

以下是使用 node-mssql 和 azure-active-directory-password 的示例(支持来自 tedious@4.1.0 的 Azure AD):

const config = {
    server: 'yoursqlserver.database.windows.net',
    database: 'yourdb',
    authentication: {
        type: "azure-active-directory-password",
        options: {
            userName: "bob@contoso.com",
            password: "password",
            }
        }
    }

请参考:

  1. https://stackoverflow.com/a/58386825/10549281
  2. https://stackoverflow.com/a/56145320/10549281
  3. https://github.com/tediousjs/tedious/issues/416#issuecomment-441364272

答案 1 :(得分:0)

所以有mssql和node-mssql的包。我安装了 node-mssql 但正在使用 mssql 的文档。我是个白痴。

感谢所有看过这篇文章的人,尤其是 Leon。