Если вы можете использовать Tedious (поддерживает Azure AD от tedious@4.1.0).
Существует опция верхнего уровня authentication
, которая позволяет указать метод аутентификации для использования:
new Connection({
'config': {
'server': '<server>',
'authentication': {
'type': 'azure-active-directory-password',
'options': {
'userName': '<userName>',
'password': '<password>'
}
},
'options': {
'encrypt': true
}
}
})
Что касается интегрированной части безопасности (поддержка аутентификации MSI), то в настоящее время (19.5.2019) на github ожидает рассмотрения pull . Если он будет одобрен / принят, вы получите поддержку - вы также можете добавить ее вручную.
Конфигурация будет выглядеть так
Простая конфигурация соединения:
var connectionADMSI = {
server: [Server Name],
options: {
database:[Database Name],
encrypt: true
},
authentication: {
type: "azure-active-directory-MSI",
// Option client id, if provided, then the token will be only valid for that user
options: {
clientID: [Client ID For User Assigned Identity]
}
}
};
Если вы используете msnodesqlv8
, вам не повезло. Это решение для Windows и пока не поддерживается в Linux. В информационных целях я включаю, как с ним связаться:
// Init connection string
var dbConfig = {
driver: 'msnodesqlv8',
connectionString:'Driver={SQL Server Native Client 11.0};Server={localhost\\SQLNode};Database={nodedb};Trusted_Connection={yes};'
};