From 6582d3be3769ea9591bf7232333d1e1b8198217f Mon Sep 17 00:00:00 2001 From: Steve Faulkner <southpolesteve@gmail.com> Date: Tue, 16 Mar 2021 18:04:26 -0500 Subject: [PATCH] Fix Mongo AAD bug where collections are not load (#552) --- src/hooks/useKnockoutExplorer.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/hooks/useKnockoutExplorer.ts b/src/hooks/useKnockoutExplorer.ts index 432a64bbc..ada6fe273 100644 --- a/src/hooks/useKnockoutExplorer.ts +++ b/src/hooks/useKnockoutExplorer.ts @@ -78,18 +78,22 @@ async function configureHosted(explorerParams: ExplorerParams): Promise<Explorer } async function configureHostedWithAAD(config: AAD, explorerParams: ExplorerParams): Promise<Explorer> { + // TODO: Refactor. updateUserContext needs to be called twice because listKeys below depends on userContext.authorizationToken + updateUserContext({ + authType: AuthType.AAD, + authorizationToken: `Bearer ${config.authorizationToken}`, + }); const account = config.databaseAccount; const accountResourceId = account.id; const subscriptionId = accountResourceId && accountResourceId.split("subscriptions/")[1].split("/")[0]; const resourceGroup = accountResourceId && accountResourceId.split("resourceGroups/")[1].split("/")[0]; + const keys = await listKeys(subscriptionId, resourceGroup, account.name); updateUserContext({ subscriptionId, resourceGroup, - authType: AuthType.AAD, - authorizationToken: `Bearer ${config.authorizationToken}`, databaseAccount: config.databaseAccount, + masterKey: keys.primaryMasterKey, }); - const keys = await listKeys(subscriptionId, resourceGroup, account.name); const explorer = new Explorer(explorerParams); explorer.configure({ databaseAccount: account,