diff --git a/extensions/azurecore/src/account-provider/azureAccountProvider.ts b/extensions/azurecore/src/account-provider/azureAccountProvider.ts index 87f8786bb7..9079806bb5 100644 --- a/extensions/azurecore/src/account-provider/azureAccountProvider.ts +++ b/extensions/azurecore/src/account-provider/azureAccountProvider.ts @@ -146,6 +146,7 @@ export class AzureAccountProvider implements azdata.AccountProvider, vscode.Disp if (azureAuth) { Logger.pii(`Getting account security token for ${JSON.stringify(account.key)} (tenant ${tenantId}). Auth Method = ${azureAuth.userFriendlyName}`, [], []); if (this.authLibrary === Constants.AuthLibrary.MSAL) { + tenantId = tenantId || account.properties.owningTenant.id; let authResult = await azureAuth.getTokenMsal(account.key.accountId, resource, tenantId); if (!authResult || !authResult.account || !authResult.account.idTokenClaims) { Logger.error(`MSAL: getToken call failed`); diff --git a/src/sql/workbench/services/connection/browser/connectionWidget.ts b/src/sql/workbench/services/connection/browser/connectionWidget.ts index 1bf1737f9d..6ec6b06faf 100644 --- a/src/sql/workbench/services/connection/browser/connectionWidget.ts +++ b/src/sql/workbench/services/connection/browser/connectionWidget.ts @@ -689,6 +689,7 @@ export class ConnectionWidget extends lifecycle.Disposable { } } else { + this._azureTenantId = selectedAccount.properties.tenants[0].id; this.onAzureTenantSelected(0); } @@ -860,6 +861,13 @@ export class ConnectionWidget extends lifecycle.Disposable { } this.onAzureTenantSelected(this._azureTenantDropdown.values.indexOf(this._azureTenantDropdown.value)); } + else if (account && account.properties.tenants && account.properties.tenants.length === 1) { + this._azureTenantId = account.properties.tenants[0].id; + this.onAzureTenantSelected(0); + } + else { + this._logService.error(`fillInConnectionInputs : Could not find any tenants for account ${accountName}`); + } }).catch(err => this._logService.error(`Unexpected error populating initial Azure Account options : ${err}`)); }