Merge pull request #11205 from Budibase/fix/mssql_without_advanced_auth

Fix - MSSQL conflicting configurations
This commit is contained in:
Adria Navarro 2023-07-11 19:33:52 +01:00 committed by GitHub
commit af93920313
1 changed files with 11 additions and 6 deletions

View File

@ -233,8 +233,11 @@ class SqlServerIntegration extends Sql implements DatasourcePlus {
try { try {
// if encrypt is undefined, then default is to encrypt // if encrypt is undefined, then default is to encrypt
const encrypt = this.config.encrypt === undefined || this.config.encrypt const encrypt = this.config.encrypt === undefined || this.config.encrypt
const clientCfg: MSSQLConfig & sqlServer.config = { const clientCfg: sqlServer.config = {
...this.config, user: this.config.user,
password: this.config.password,
server: this.config.server,
database: this.config.database,
port: +this.config.port, port: +this.config.port,
options: { options: {
encrypt, encrypt,
@ -244,11 +247,11 @@ class SqlServerIntegration extends Sql implements DatasourcePlus {
if (encrypt) { if (encrypt) {
clientCfg.options!.trustServerCertificate = true clientCfg.options!.trustServerCertificate = true
} }
delete clientCfg.encrypt
switch (this.config.authType) { switch (this.config.authType) {
case MSSQLConfigAuthType.AZURE_ACTIVE_DIRECTORY: case MSSQLConfigAuthType.AZURE_ACTIVE_DIRECTORY:
const { clientId, tenantId, clientSecret } = this.config.adConfig const { clientId, tenantId, clientSecret } =
this.config.adConfig || {}
const clientApp = new ConfidentialClientApplication({ const clientApp = new ConfidentialClientApplication({
auth: { auth: {
clientId, clientId,
@ -269,7 +272,8 @@ class SqlServerIntegration extends Sql implements DatasourcePlus {
} }
break break
case MSSQLConfigAuthType.NTLM: case MSSQLConfigAuthType.NTLM:
const { domain, trustServerCertificate } = this.config.ntlmConfig const { domain, trustServerCertificate } =
this.config.ntlmConfig || {}
clientCfg.authentication = { clientCfg.authentication = {
type: "ntlm", type: "ntlm",
options: { options: {
@ -277,8 +281,9 @@ class SqlServerIntegration extends Sql implements DatasourcePlus {
}, },
} }
clientCfg.options ??= {} clientCfg.options ??= {}
clientCfg.options.trustServerCertificate = trustServerCertificate clientCfg.options.trustServerCertificate = !!trustServerCertificate
break break
case null:
case undefined: case undefined:
break break
default: default: