diff --git a/extensions/microsoft-authentication/src/AADHelper.ts b/extensions/microsoft-authentication/src/AADHelper.ts index ecfc8456266d225dbb4b3a2aebddc1de781a78ce..f5dfc791f044dc0a57e4fe4d3f615ae2f05e655a 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 {