From e006e70b5657cdb14afb8b02d0da2205781c9649 Mon Sep 17 00:00:00 2001 From: Jo Arroyo Date: Tue, 5 Jan 2021 15:18:05 -0800 Subject: [PATCH 1/4] Omit scopes from guard config, update samples re. type-cast warning --- lib/msal-angular/package-lock.json | 30 ++++++------------- lib/msal-angular/src/msal.guard.config.ts | 2 +- lib/msal-angular/src/msal.guard.ts | 6 ++-- .../src/app/app.component.ts | 6 ++-- .../src/app/app.component.ts | 6 ++-- .../src/app/app.component.ts | 6 ++-- 6 files changed, 22 insertions(+), 34 deletions(-) diff --git a/lib/msal-angular/package-lock.json b/lib/msal-angular/package-lock.json index d356e72ea45..b8dd5487a8f 100644 --- a/lib/msal-angular/package-lock.json +++ b/lib/msal-angular/package-lock.json @@ -300,7 +300,7 @@ "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.1", "debug": "4.1.1", - "ini": "1.3.5", + "ini": "^1.3.6", "inquirer": "7.1.0", "npm-package-arg": "8.0.1", "npm-pick-manifest": "6.1.0", @@ -315,10 +315,7 @@ }, "dependencies": { "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true + "version": "^1.3.6" } } }, @@ -1692,7 +1689,7 @@ "@angular-devkit/core": "10.0.8", "@angular-devkit/schematics": "10.0.8", "@yarnpkg/lockfile": "1.1.0", - "ini": "1.3.5", + "ini": "^1.3.6", "npm-package-arg": "^8.0.0", "pacote": "9.5.12", "rxjs": "6.5.5", @@ -1701,10 +1698,7 @@ }, "dependencies": { "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true + "version": "^1.3.6" } } }, @@ -2043,7 +2037,7 @@ "assert": "1.4.1", "camelcase": "5.0.0", "loader-utils": "1.2.3", - "object-path": "0.11.4", + "object-path": "0.11.5", "regex-parser": "2.2.10" }, "dependencies": { @@ -2080,10 +2074,7 @@ } }, "object-path": { - "version": "0.11.5", - "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.5.tgz", - "integrity": "sha512-jgSbThcoR/s+XumvGMTMf81QVBmah+/Q7K7YduKeKVWL7N111unR2d6pZZarSk6kY/caeNxUDyxOvMWyzoU2eg==", - "dev": true + "version": "0.11.5" } } }, @@ -9829,7 +9820,7 @@ "chalk": "^1.1.1", "del": "^2.2.0", "glob": "^7.0.3", - "ini": "^1.3.4", + "ini": "^1.3.6", "minimist": "^1.2.0", "q": "^1.4.1", "request": "^2.87.0", @@ -9839,10 +9830,7 @@ }, "dependencies": { "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true + "version": "^1.3.6" } } }, @@ -14221,4 +14209,4 @@ "dev": true } } -} +} \ No newline at end of file diff --git a/lib/msal-angular/src/msal.guard.config.ts b/lib/msal-angular/src/msal.guard.config.ts index 8bf53514b8e..70036fc61f8 100644 --- a/lib/msal-angular/src/msal.guard.config.ts +++ b/lib/msal-angular/src/msal.guard.config.ts @@ -7,5 +7,5 @@ import { PopupRequest, RedirectRequest,InteractionType } from "@azure/msal-brows export type MsalGuardConfiguration = { interactionType: InteractionType.Popup | InteractionType.Redirect; - authRequest?: PopupRequest | Omit; + authRequest?: Omit | Omit; }; diff --git a/lib/msal-angular/src/msal.guard.ts b/lib/msal-angular/src/msal.guard.ts index f7fcc0f83f9..35e564a8c6f 100644 --- a/lib/msal-angular/src/msal.guard.ts +++ b/lib/msal-angular/src/msal.guard.ts @@ -7,7 +7,7 @@ import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivateCh import { MsalService } from "./msal.service"; import { Injectable, Inject } from "@angular/core"; import { Location } from "@angular/common"; -import { InteractionType, BrowserConfigurationAuthError, BrowserUtils, UrlString } from "@azure/msal-browser"; +import { InteractionType, BrowserConfigurationAuthError, BrowserUtils, UrlString, PopupRequest, RedirectRequest } from "@azure/msal-browser"; import { MsalGuardConfiguration } from "./msal.guard.config"; import { MSAL_GUARD_CONFIG } from "./constants"; import { concatMap, catchError, map } from "rxjs/operators"; @@ -51,7 +51,7 @@ export class MsalGuard implements CanActivate, CanActivateChild, CanLoad { private loginInteractively(url: string): Observable { if (this.msalGuardConfig.interactionType === InteractionType.Popup) { this.authService.getLogger().verbose("Guard - logging in by popup"); - return this.authService.loginPopup({ ...this.msalGuardConfig.authRequest }) + return this.authService.loginPopup({ ...this.msalGuardConfig.authRequest } as PopupRequest) .pipe( map(() => { this.authService.getLogger().verbose("Guard - login by popup successful, can activate"); @@ -66,7 +66,7 @@ export class MsalGuard implements CanActivate, CanActivateChild, CanLoad { this.authService.loginRedirect({ redirectStartPage, ...this.msalGuardConfig.authRequest - }); + } as RedirectRequest); return of(false); } diff --git a/samples/msal-angular-v2-samples/angular10-sample-app/src/app/app.component.ts b/samples/msal-angular-v2-samples/angular10-sample-app/src/app/app.component.ts index c91b8de3f96..3ee81d71b9e 100644 --- a/samples/msal-angular-v2-samples/angular10-sample-app/src/app/app.component.ts +++ b/samples/msal-angular-v2-samples/angular10-sample-app/src/app/app.component.ts @@ -1,6 +1,6 @@ import { Component, OnInit, Inject, OnDestroy, Injectable } from '@angular/core'; import { MsalService, MsalBroadcastService, MSAL_GUARD_CONFIG, MsalGuardConfiguration } from '@azure/msal-angular'; -import { EventMessage, EventType, InteractionType } from '@azure/msal-browser'; +import { EventMessage, EventType, InteractionType, PopupRequest, RedirectRequest } from '@azure/msal-browser'; import { Subject } from 'rxjs'; import { filter, takeUntil } from 'rxjs/operators'; @@ -42,10 +42,10 @@ export class AppComponent implements OnInit, OnDestroy { login() { if (this.msalGuardConfig.interactionType === InteractionType.Popup) { - this.authService.loginPopup({...this.msalGuardConfig.authRequest}) + this.authService.loginPopup({...this.msalGuardConfig.authRequest} as PopupRequest) .subscribe(() => this.checkAccount()); } else { - this.authService.loginRedirect({...this.msalGuardConfig.authRequest}); + this.authService.loginRedirect({...this.msalGuardConfig.authRequest} as RedirectRequest); } } diff --git a/samples/msal-angular-v2-samples/angular11-sample-app/src/app/app.component.ts b/samples/msal-angular-v2-samples/angular11-sample-app/src/app/app.component.ts index 05b78b9d42c..a36154cc0e5 100644 --- a/samples/msal-angular-v2-samples/angular11-sample-app/src/app/app.component.ts +++ b/samples/msal-angular-v2-samples/angular11-sample-app/src/app/app.component.ts @@ -1,6 +1,6 @@ import { Component, OnInit, Inject, OnDestroy, Injectable } from '@angular/core'; import { MsalService, MsalBroadcastService, MSAL_GUARD_CONFIG, MsalGuardConfiguration } from '@azure/msal-angular'; -import { EventMessage, EventType, InteractionType } from '@azure/msal-browser'; +import { EventMessage, EventType, InteractionType, PopupRequest, RedirectRequest } from '@azure/msal-browser'; import { Subject } from 'rxjs'; import { filter, takeUntil } from 'rxjs/operators'; @@ -43,7 +43,7 @@ export class AppComponent implements OnInit, OnDestroy { login() { if (this.msalGuardConfig.interactionType === InteractionType.Popup) { if (this.msalGuardConfig.authRequest){ - this.authService.loginPopup({...this.msalGuardConfig.authRequest}) + this.authService.loginPopup({...this.msalGuardConfig.authRequest} as PopupRequest) .subscribe(() => this.checkAccount()); } else { this.authService.loginPopup() @@ -51,7 +51,7 @@ export class AppComponent implements OnInit, OnDestroy { } } else { if (this.msalGuardConfig.authRequest){ - this.authService.loginRedirect({...this.msalGuardConfig.authRequest}); + this.authService.loginRedirect({...this.msalGuardConfig.authRequest} as RedirectRequest); } else { this.authService.loginRedirect(); } diff --git a/samples/msal-angular-v2-samples/angular9-v2-sample-app/src/app/app.component.ts b/samples/msal-angular-v2-samples/angular9-v2-sample-app/src/app/app.component.ts index c03ed27a9fc..13bba51a27a 100644 --- a/samples/msal-angular-v2-samples/angular9-v2-sample-app/src/app/app.component.ts +++ b/samples/msal-angular-v2-samples/angular9-v2-sample-app/src/app/app.component.ts @@ -1,6 +1,6 @@ import { Component, OnInit, Inject, OnDestroy, Injectable } from '@angular/core'; import { MsalService, MsalBroadcastService, MSAL_GUARD_CONFIG, MsalGuardConfiguration } from '@azure/msal-angular'; -import { EventMessage, EventType, InteractionType } from '@azure/msal-browser'; +import { EventMessage, EventType, InteractionType, PopupRequest, RedirectRequest } from '@azure/msal-browser'; import { Subject } from 'rxjs'; import { filter, takeUntil } from 'rxjs/operators'; @@ -42,10 +42,10 @@ export class AppComponent implements OnInit, OnDestroy { login() { if (this.msalGuardConfig.interactionType === InteractionType.Popup) { - this.authService.loginPopup({...this.msalGuardConfig.authRequest}) + this.authService.loginPopup({...this.msalGuardConfig.authRequest} as PopupRequest) .subscribe(() => this.checkAccount()); } else { - this.authService.loginRedirect({...this.msalGuardConfig.authRequest}); + this.authService.loginRedirect({...this.msalGuardConfig.authRequest} as RedirectRequest); } } From b2f0bf9b492fa691b373612a7ac20b7763acd65a Mon Sep 17 00:00:00 2001 From: Jo Arroyo Date: Tue, 5 Jan 2021 15:22:54 -0800 Subject: [PATCH 2/4] Change files --- ...-msal-angular-9cb13310-e058-4726-95c6-d0f213107d3a.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 change/@azure-msal-angular-9cb13310-e058-4726-95c6-d0f213107d3a.json diff --git a/change/@azure-msal-angular-9cb13310-e058-4726-95c6-d0f213107d3a.json b/change/@azure-msal-angular-9cb13310-e058-4726-95c6-d0f213107d3a.json new file mode 100644 index 00000000000..36cadc4a15d --- /dev/null +++ b/change/@azure-msal-angular-9cb13310-e058-4726-95c6-d0f213107d3a.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "Omit scopes from guard config (#2829)", + "packageName": "@azure/msal-angular", + "email": "joarroyo@microsoft.com", + "dependentChangeType": "patch" +} From de32dd2dce8410c2a9d90c9b25840350b8395c29 Mon Sep 17 00:00:00 2001 From: Jo Arroyo Date: Wed, 6 Jan 2021 16:40:42 -0800 Subject: [PATCH 3/4] Change omit to partial for guard config --- lib/msal-angular/src/msal.guard.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/msal-angular/src/msal.guard.config.ts b/lib/msal-angular/src/msal.guard.config.ts index 70036fc61f8..ec288f37add 100644 --- a/lib/msal-angular/src/msal.guard.config.ts +++ b/lib/msal-angular/src/msal.guard.config.ts @@ -7,5 +7,5 @@ import { PopupRequest, RedirectRequest,InteractionType } from "@azure/msal-brows export type MsalGuardConfiguration = { interactionType: InteractionType.Popup | InteractionType.Redirect; - authRequest?: Omit | Omit; + authRequest?: Partial | Partial>; }; From 2ec5f65a91d84f5d4d4e58627045ba047812a726 Mon Sep 17 00:00:00 2001 From: Jo Arroyo Date: Wed, 6 Jan 2021 16:41:34 -0800 Subject: [PATCH 4/4] Update @azure-msal-angular-9cb13310-e058-4726-95c6-d0f213107d3a.json --- ...azure-msal-angular-9cb13310-e058-4726-95c6-d0f213107d3a.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/change/@azure-msal-angular-9cb13310-e058-4726-95c6-d0f213107d3a.json b/change/@azure-msal-angular-9cb13310-e058-4726-95c6-d0f213107d3a.json index 36cadc4a15d..30653b250c4 100644 --- a/change/@azure-msal-angular-9cb13310-e058-4726-95c6-d0f213107d3a.json +++ b/change/@azure-msal-angular-9cb13310-e058-4726-95c6-d0f213107d3a.json @@ -1,6 +1,6 @@ { "type": "prerelease", - "comment": "Omit scopes from guard config (#2829)", + "comment": "Make scopes optional for msal-guard config (#2829)", "packageName": "@azure/msal-angular", "email": "joarroyo@microsoft.com", "dependentChangeType": "patch"