From f19ccd13c2d0a181da935e9c673f44c6a8e9180b Mon Sep 17 00:00:00 2001 From: olegoid Date: Thu, 1 Oct 2020 13:34:26 -0400 Subject: [PATCH] Made id_token optional in ITokenResponse According to: https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow#successful-response-1 --- extensions/microsoft-authentication/src/AADHelper.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/extensions/microsoft-authentication/src/AADHelper.ts b/extensions/microsoft-authentication/src/AADHelper.ts index ecfc8456266..f5dfc791f04 100644 --- a/extensions/microsoft-authentication/src/AADHelper.ts +++ b/extensions/microsoft-authentication/src/AADHelper.ts @@ -68,7 +68,7 @@ export interface ITokenResponse { refresh_token: string; scope: string; token_type: string; - id_token: string; + id_token?: string; } function parseQuery(uri: vscode.Uri) { @@ -454,9 +454,13 @@ export class AzureActiveDirectoryService { try { claims = this.getTokenClaims(json.access_token); - } catch { - Logger.info('Failed to fetch token claims from access_token. Attempting to parse id_token instead'); - claims = this.getTokenClaims(json.id_token); + } catch (e) { + if (json.id_token) { + Logger.info('Failed to fetch token claims from access_token. Attempting to parse id_token instead'); + claims = this.getTokenClaims(json.id_token); + } else { + throw e; + } } return {