From 05e970086cd7523cd6c599d95a8bde2cda768b40 Mon Sep 17 00:00:00 2001 From: Rachel Macfarlane Date: Wed, 17 Mar 2021 13:06:07 -0700 Subject: [PATCH] Add missing change session events to ms auth provider --- .../microsoft-authentication/src/AADHelper.ts | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/extensions/microsoft-authentication/src/AADHelper.ts b/extensions/microsoft-authentication/src/AADHelper.ts index 40b0f925446..2414055c282 100644 --- a/extensions/microsoft-authentication/src/AADHelper.ts +++ b/extensions/microsoft-authentication/src/AADHelper.ts @@ -657,7 +657,8 @@ export class AzureActiveDirectoryService { this._refreshTimeouts.set(sessionId, setTimeout(async () => { try { - await this.refreshToken(refreshToken, scope, sessionId); + const refreshedToken = await this.refreshToken(refreshToken, scope, sessionId); + onDidChangeSessions.fire({ added: [], removed: [], changed: [this.convertToSessionSync(refreshedToken)] }); } catch (e) { this.pollForReconnect(sessionId, refreshToken, scope); } @@ -671,21 +672,14 @@ export class AzureActiveDirectoryService { return resolve(false); } - if (attempts === 1) { - const token = this._tokens.find(token => token.sessionId === sessionId); - if (token) { - token.accessToken = undefined; - onDidChangeSessions.fire({ added: [], removed: [], changed: [this.convertToSessionSync(token)] }); - } - } - const delayBeforeRetry = 5 * attempts * attempts; this.clearSessionTimeout(sessionId); this._refreshTimeouts.set(sessionId, setTimeout(async () => { try { - await this.refreshToken(refreshToken, scope, sessionId); + const refreshedToken = await this.refreshToken(refreshToken, scope, sessionId); + onDidChangeSessions.fire({ added: [], removed: [], changed: [this.convertToSessionSync(refreshedToken)] }); return resolve(true); } catch (e) { return resolve(await this.handleRefreshNetworkError(sessionId, refreshToken, scope, attempts + 1));