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

How do I use Azure AD Authentication with node-mssql?

所以我得到了一个使用 tedious but the options available in node-mssql 的连接来处理 JSON 是我想要访问的非常有用的东西。

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

的值

配置对象有问题吗?

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"                    
                }
        },
    }
};

这里是使用 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. .
  2. https://github.com/tediousjs/tedious/issues/416#issuecomment-441364272

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

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