Как использовать аутентификацию Azure AD с node-mssql?

Итак, я получил подключение, работающее с использованием утомительно, но параметры, доступные в node-mssql для обработки JSON — это что-то действительно полезное, к чему я хотел бы иметь доступ.

В документации для node-mssql сказано, что вы можете пройти объект с настройками аутентификации, которые было бы утомительно использовать, и он переопределит свойства пользователя/пароля, но он определенно этого не делает. Я могу подтвердить, потому что сообщение об ошибке возвращается со значением свойства пользователя.

Что-то не так с объектом конфигурации?

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

person Stephanie    schedule 24.04.2021    source источник


Ответы (2)


Вот пример с использованием node-mssql и azure-active-directory-password (поддерживает Azure AD из [email protected]):

const config = {
    server: 'yoursqlserver.database.windows.net',
    database: 'yourdb',
    authentication: {
        type: "azure-active-directory-password",
        options: {
            userName: "[email protected]",
            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
person Leon Yue    schedule 26.04.2021
comment
Я пробовал это, но у меня была та же проблема, свойство userName здесь не передается. Вот фактическая конфигурация, которую я использовал: лазурный сервер означает, что соединение должно быть зашифровано. const sqlConfig = { server: process.env.SQL_SERVER, database: process.env.DATABASE_NAME, options: { encrypt: true }, authentication: { type: "azure-active-directory-password", options: { userName: "[email protected]", password: "password", } } } - person Stephanie; 26.04.2021

Итак, есть пакеты для mssql и node-mssql. Я установил node-mssql, но работал с документацией для mssql. Я идиот.

Спасибо всем, кто посмотрел на это, и особенно Леону.

person Stephanie    schedule 28.04.2021