Socket
Socket
Sign inDemoInstall

@azure/msal-angular

Package Overview
Dependencies
Maintainers
3
Versions
105
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@azure/msal-angular - npm Package Compare versions

Comparing version 0.1.4 to 1.0.0-alpha.0

dist/msal-angular.configuration.d.ts

11

changelog.md
# Changelog
## 1.0.0-alpha.0
Initial upgrade to use `msal@1.2.0`.
* `msal@1.2.0` package is now a peer dependency, and must be installed alongside `@azure/msal-angular`.
* `MsalModule.forRoot` now takes two arguement.
* The first argument is the configuration object, which is the [same `Configuration` object](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-core/src/Configuration.ts) you would pass to `msal`.
* The second argument is a `MsalAngularConfiguration` object, containing the values for `consentScopes`, `popUp`, and `extraQueryParameters`.
* See the [updated sample](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/918830f9750a43567f1dbc01bc6492481d267ed6/samples/MSALAngularDemoApp/src/app/app.module.ts#L41) for an example of how to pass these configuration objects.
* The `acquireToken` and `login` methods now take a single `AuthenticationParameters` object as parameters.
## 0.1.4

@@ -4,0 +15,0 @@ * Fix msal-angular to transpile for IE11 compatibility: https://github.com/AzureAD/microsoft-authentication-library-for-js/pull/868

2

dist/index.d.ts

@@ -1,2 +0,1 @@

export { MsalConfig } from './msal-config';
export { BroadcastService } from './broadcast.service';

@@ -7,1 +6,2 @@ export { MsalService } from './msal.service';

export { MsalModule } from './msal.module';
export { MsalAngularConfiguration } from './msal-angular.configuration';
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var msal_config_1 = require("./msal-config");
exports.MsalConfig = msal_config_1.MsalConfig;
var broadcast_service_1 = require("./broadcast.service");

@@ -6,0 +4,0 @@ exports.BroadcastService = broadcast_service_1.BroadcastService;

@@ -1,1 +0,1 @@

[{"__symbolic":"module","version":3,"metadata":{},"exports":[{"from":"./msal-config","export":["MsalConfig"]},{"from":"./broadcast.service","export":["BroadcastService"]},{"from":"./msal.service","export":["MsalService"]},{"from":"./msal-guard.service","export":["MsalGuard"]},{"from":"./msal.interceptor","export":["MsalInterceptor"]},{"from":"./msal.module","export":["MsalModule"]}]},{"__symbolic":"module","version":1,"metadata":{},"exports":[{"from":"./msal-config","export":["MsalConfig"]},{"from":"./broadcast.service","export":["BroadcastService"]},{"from":"./msal.service","export":["MsalService"]},{"from":"./msal-guard.service","export":["MsalGuard"]},{"from":"./msal.interceptor","export":["MsalInterceptor"]},{"from":"./msal.module","export":["MsalModule"]}]}]
[{"__symbolic":"module","version":3,"metadata":{},"exports":[{"from":"./broadcast.service","export":["BroadcastService"]},{"from":"./msal.service","export":["MsalService"]},{"from":"./msal-guard.service","export":["MsalGuard"]},{"from":"./msal.interceptor","export":["MsalInterceptor"]},{"from":"./msal.module","export":["MsalModule"]},{"from":"./msal-angular.configuration","export":["MsalAngularConfiguration"]}]},{"__symbolic":"module","version":1,"metadata":{},"exports":[{"from":"./broadcast.service","export":["BroadcastService"]},{"from":"./msal.service","export":["MsalService"]},{"from":"./msal-guard.service","export":["MsalGuard"]},{"from":"./msal.interceptor","export":["MsalInterceptor"]},{"from":"./msal.module","export":["MsalModule"]},{"from":"./msal-angular.configuration","export":["MsalAngularConfiguration"]}]}]

@@ -6,6 +6,8 @@ import { ActivatedRoute, ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from "@angular/router";

import { Location, PlatformLocation } from "@angular/common";
import { MsalConfig } from "./msal-config";
import { BroadcastService } from "./broadcast.service";
import { Configuration } from "msal";
import { MsalAngularConfiguration } from "./msal-angular.configuration";
export declare class MsalGuard implements CanActivate {
private config;
private msalConfig;
private msalAngularConfig;
private authService;

@@ -17,7 +19,4 @@ private router;

private broadcastService;
constructor(config: MsalConfig, authService: MsalService, router: Router, activatedRoute: ActivatedRoute, location: Location, platformLocation: PlatformLocation, broadcastService: BroadcastService);
constructor(msalConfig: Configuration, msalAngularConfig: MsalAngularConfiguration, authService: MsalService, router: Router, activatedRoute: ActivatedRoute, location: Location, platformLocation: PlatformLocation, broadcastService: BroadcastService);
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean | Promise<boolean>;
private getBaseUrl;
isEmpty: (str: any) => boolean;
isObjectEmpty(obj: Object): boolean;
}

@@ -9,10 +9,7 @@ "use strict";

var common_1 = require("@angular/common");
var msal_config_1 = require("./msal-config");
var broadcast_service_1 = require("./broadcast.service");
var msal_1 = require("msal");
var MSALError_1 = require("./MSALError");
var AuthenticationResult_1 = require("./AuthenticationResult");
var MsalGuard = /** @class */ (function () {
function MsalGuard(config, authService, router, activatedRoute, location, platformLocation, broadcastService) {
this.config = config;
function MsalGuard(msalConfig, msalAngularConfig, authService, router, activatedRoute, location, platformLocation, broadcastService) {
this.msalConfig = msalConfig;
this.msalAngularConfig = msalAngularConfig;
this.authService = authService;

@@ -24,5 +21,2 @@ this.router = router;

this.broadcastService = broadcastService;
this.isEmpty = function (str) {
return (typeof str === "undefined" || !str || 0 === str.length);
};
}

@@ -32,63 +26,30 @@ MsalGuard.prototype.canActivate = function (route, state) {

this.authService.getLogger().verbose("location change event from old url to new url");
this.authService.updateDataFromCache([this.config.clientID]);
if (!this.authService._oauthData.isAuthenticated && this.isObjectEmpty(this.authService._oauthData.idToken)) {
if (state.url) {
if (!this.authService._renewActive && !this.authService.loginInProgress()) {
var loginStartPage = this.getBaseUrl() + state.url;
if (loginStartPage !== null) {
this.authService.getCacheStorage().setItem(msal_1.Constants.angularLoginRequest, loginStartPage);
}
if (this.config.popUp) {
return this.authService.loginPopup(this.config.consentScopes, this.config.extraQueryParameters)
.then(function (token) {
return true;
}, function (error) {
return false;
});
}
else {
this.authService.loginRedirect(this.config.consentScopes, this.config.extraQueryParameters);
}
}
if (!this.authService.getAccount()) {
if (this.msalAngularConfig.popUp) {
return this.authService.loginPopup({
scopes: this.msalConfig.framework.consentScopes,
extraQueryParameters: this.msalConfig.framework.extraQueryParameters
})
.then(function () { return true; })
.catch(function () { return false; });
}
this.authService.loginRedirect({
scopes: this.msalAngularConfig.consentScopes,
extraQueryParameters: this.msalAngularConfig.extraQueryParameters
});
}
//token is expired/deleted but userdata still exists in _oauthData object
else if (!this.authService._oauthData.isAuthenticated && !this.isObjectEmpty(this.authService._oauthData.idToken)) {
return this.authService.acquireTokenSilent([this.config.clientID])
.then(function (token) {
if (token) {
_this.authService._oauthData.isAuthenticated = true;
var authenticationResult = new AuthenticationResult_1.AuthenticationResult(token);
_this.broadcastService.broadcast("msal:loginSuccess", authenticationResult);
return true;
}
}, function (error) {
var errorParts = error.split('|');
var msalError = new MSALError_1.MSALError(errorParts[0], errorParts[1], "");
_this.broadcastService.broadcast("msal:loginFailure", msalError);
else {
return this.authService.acquireTokenSilent({
scopes: [this.msalConfig.auth.clientId]
})
.then(function (result) {
_this.broadcastService.broadcast("msal:loginSuccess", result);
return true;
})
.catch(function (error) {
_this.broadcastService.broadcast("msal:loginFailure", error);
return false;
});
}
else {
return true;
}
};
MsalGuard.prototype.getBaseUrl = function () {
var currentAbsoluteUrl = window.location.href;
var currentRelativeUrl = this.location.path();
if (this.isEmpty(currentRelativeUrl)) {
if (currentAbsoluteUrl.endsWith("/")) {
currentAbsoluteUrl = currentAbsoluteUrl.replace(/\/$/, '');
}
return currentAbsoluteUrl;
}
else {
var index = currentAbsoluteUrl.indexOf(currentRelativeUrl);
return currentAbsoluteUrl.substring(0, index);
}
};
MsalGuard.prototype.isObjectEmpty = function (obj) {
return Object.keys(obj).length === 0;
};
;
MsalGuard.decorators = [

@@ -99,3 +60,4 @@ { type: core_1.Injectable },

MsalGuard.ctorParameters = function () { return [
{ type: msal_config_1.MsalConfig, decorators: [{ type: core_1.Inject, args: [msal_service_1.MSAL_CONFIG,] },] },
{ type: undefined, decorators: [{ type: core_1.Inject, args: [msal_service_1.MSAL_CONFIG,] },] },
{ type: undefined, decorators: [{ type: core_1.Inject, args: [msal_service_1.MSAL_CONFIG_ANGULAR,] },] },
{ type: msal_service_1.MsalService, },

@@ -102,0 +64,0 @@ { type: router_1.Router, },

@@ -1,1 +0,1 @@

[{"__symbolic":"module","version":3,"metadata":{"MsalGuard":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","module":"./msal.service","name":"MSAL_CONFIG"}]}],null,null,null,null,null,null],"parameters":[{"__symbolic":"reference","module":"./msal-config","name":"MsalConfig"},{"__symbolic":"reference","module":"./msal.service","name":"MsalService"},{"__symbolic":"reference","module":"@angular/router","name":"Router"},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute"},{"__symbolic":"reference","module":"@angular/common","name":"Location"},{"__symbolic":"reference","module":"@angular/common","name":"PlatformLocation"},{"__symbolic":"reference","module":"./broadcast.service","name":"BroadcastService"}]}],"canActivate":[{"__symbolic":"method"}],"getBaseUrl":[{"__symbolic":"method"}],"isObjectEmpty":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"MsalGuard":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","module":"./msal.service","name":"MSAL_CONFIG"}]}],null,null,null,null,null,null],"parameters":[{"__symbolic":"reference","module":"./msal-config","name":"MsalConfig"},{"__symbolic":"reference","module":"./msal.service","name":"MsalService"},{"__symbolic":"reference","module":"@angular/router","name":"Router"},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute"},{"__symbolic":"reference","module":"@angular/common","name":"Location"},{"__symbolic":"reference","module":"@angular/common","name":"PlatformLocation"},{"__symbolic":"reference","module":"./broadcast.service","name":"BroadcastService"}]}],"canActivate":[{"__symbolic":"method"}],"getBaseUrl":[{"__symbolic":"method"}],"isObjectEmpty":[{"__symbolic":"method"}]}}}}]
[{"__symbolic":"module","version":3,"metadata":{"MsalGuard":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","module":"./msal.service","name":"MSAL_CONFIG"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","module":"./msal.service","name":"MSAL_CONFIG_ANGULAR"}]}],null,null,null,null,null,null],"parameters":[{"__symbolic":"reference","module":"msal","name":"Configuration"},{"__symbolic":"reference","module":"./msal-angular.configuration","name":"MsalAngularConfiguration"},{"__symbolic":"reference","module":"./msal.service","name":"MsalService"},{"__symbolic":"reference","module":"@angular/router","name":"Router"},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute"},{"__symbolic":"reference","module":"@angular/common","name":"Location"},{"__symbolic":"reference","module":"@angular/common","name":"PlatformLocation"},{"__symbolic":"reference","module":"./broadcast.service","name":"BroadcastService"}]}],"canActivate":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"MsalGuard":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","module":"./msal.service","name":"MSAL_CONFIG"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","module":"./msal.service","name":"MSAL_CONFIG_ANGULAR"}]}],null,null,null,null,null,null],"parameters":[{"__symbolic":"reference","module":"msal","name":"Configuration"},{"__symbolic":"reference","module":"./msal-angular.configuration","name":"MsalAngularConfiguration"},{"__symbolic":"reference","module":"./msal.service","name":"MsalService"},{"__symbolic":"reference","module":"@angular/router","name":"Router"},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute"},{"__symbolic":"reference","module":"@angular/common","name":"Location"},{"__symbolic":"reference","module":"@angular/common","name":"PlatformLocation"},{"__symbolic":"reference","module":"./broadcast.service","name":"BroadcastService"}]}],"canActivate":[{"__symbolic":"method"}]}}}}]

@@ -10,3 +10,2 @@ "use strict";

var broadcast_service_1 = require("./broadcast.service");
var MSALError_1 = require("./MSALError");
var MsalInterceptor = /** @class */ (function () {

@@ -20,45 +19,27 @@ function MsalInterceptor(auth, broadcastService) {

var scopes = this.auth.getScopesForEndpoint(req.url);
this.auth.verbose('Url: ' + req.url + ' maps to scopes: ' + scopes);
if (scopes === null) {
this.auth.getLogger().verbose('Url: ' + req.url + ' maps to scopes: ' + scopes);
// If there are no scopes set for this request, do nothing.
if (!scopes) {
return next.handle(req);
}
var tokenStored = this.auth.getCachedTokenInternal(scopes);
if (tokenStored && tokenStored.token) {
req = req.clone({
var accessToken;
// Acquire a token for this request, and attach as proper auth header.
return Observable_1.Observable.fromPromise(this.auth.acquireTokenSilent({ scopes: scopes })
.then(function (response) {
accessToken = response.accessToken;
var authHeader = "Bearer " + response.accessToken;
return req.clone({
setHeaders: {
Authorization: "Bearer " + tokenStored.token,
Authorization: authHeader,
}
});
return next.handle(req).do(function (event) { }, function (err) {
})).mergeMap(function (nextReq) {
// Call next handler, and if that errors, broadcast error
return next.handle(nextReq).do(function (event) { }, function (err) {
if (err instanceof http_1.HttpErrorResponse && err.status == 401) {
var scopes = _this.auth.getScopesForEndpoint(req.url);
var tokenStored = _this.auth.getCachedTokenInternal(scopes);
if (tokenStored && tokenStored.token) {
_this.auth.clearCacheForScope(tokenStored.token);
}
var msalError = new MSALError_1.MSALError(JSON.stringify(err), "", JSON.stringify(scopes));
_this.broadcastService.broadcast('msal:notAuthorized', msalError);
_this.auth.clearCacheForScope(accessToken);
_this.broadcastService.broadcast('msal:notAuthorized', err.message);
}
});
}
else {
return Observable_1.Observable.fromPromise(this.auth.acquireTokenSilent(scopes).then(function (token) {
var JWT = "Bearer " + token;
return req.clone({
setHeaders: {
Authorization: JWT,
},
});
})).mergeMap(function (req) { return next.handle(req).do(function (event) { }, function (err) {
if (err instanceof http_1.HttpErrorResponse && err.status == 401) {
var scopes = _this.auth.getScopesForEndpoint(req.url);
var tokenStored = _this.auth.getCachedTokenInternal(scopes);
if (tokenStored && tokenStored.token) {
_this.auth.clearCacheForScope(tokenStored.token);
}
var msalError = new MSALError_1.MSALError(JSON.stringify(err), "", JSON.stringify(scopes));
_this.broadcastService.broadcast('msal:notAuthorized', msalError);
}
}); }); //calling next.handle means we are passing control to next interceptor in chain
}
});
};

@@ -65,0 +46,0 @@ MsalInterceptor.decorators = [

@@ -1,7 +0,8 @@

import { MsalConfig } from "./msal-config";
import { ModuleWithProviders } from "@angular/core";
import { Configuration } from "msal";
import { MsalAngularConfiguration } from "./msal-angular.configuration";
export declare class WindowWrapper extends Window {
}
export declare class MsalModule {
static forRoot(config: MsalConfig): ModuleWithProviders;
static forRoot(config: Configuration, angularConfig?: MsalAngularConfiguration): ModuleWithProviders;
}

@@ -18,2 +18,3 @@ "use strict";

var broadcast_service_1 = require("./broadcast.service");
var msal_angular_configuration_1 = require("./msal-angular.configuration");
core_1.Injectable();

@@ -31,7 +32,20 @@ var WindowWrapper = /** @class */ (function (_super) {

}
MsalModule.forRoot = function (config) {
MsalModule.forRoot = function (config, angularConfig) {
if (angularConfig === void 0) { angularConfig = msal_angular_configuration_1.defaultMsalAngularConfiguration; }
return {
ngModule: MsalModule,
providers: [
{ provide: msal_service_1.MSAL_CONFIG, useValue: config }, msal_service_1.MsalService, { provide: WindowWrapper, useValue: window }
{
provide: msal_service_1.MSAL_CONFIG,
useValue: config
},
{
provide: msal_service_1.MSAL_CONFIG_ANGULAR,
useValue: angularConfig
},
msal_service_1.MsalService,
{
provide: WindowWrapper,
useValue: window
}
]

@@ -38,0 +52,0 @@ };

@@ -1,1 +0,1 @@

[{"__symbolic":"module","version":3,"metadata":{"WindowWrapper":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Window"}},"MsalModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule"}],"declarations":[],"providers":[{"__symbolic":"reference","module":"./msal-guard.service","name":"MsalGuard"},{"__symbolic":"reference","module":"./broadcast.service","name":"BroadcastService"}]}]}],"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"value":{"ngModule":{"__symbolic":"reference","name":"MsalModule"},"providers":[{"provide":{"__symbolic":"reference","module":"./msal.service","name":"MSAL_CONFIG"},"useValue":{"__symbolic":"reference","name":"config"}},{"__symbolic":"reference","module":"./msal.service","name":"MsalService"},{"provide":{"__symbolic":"reference","name":"WindowWrapper"},"useValue":{"__symbolic":"reference","name":"window"}}]}}}}}},{"__symbolic":"module","version":1,"metadata":{"WindowWrapper":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Window"}},"MsalModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule"}],"declarations":[],"providers":[{"__symbolic":"reference","module":"./msal-guard.service","name":"MsalGuard"},{"__symbolic":"reference","module":"./broadcast.service","name":"BroadcastService"}]}]}],"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"value":{"ngModule":{"__symbolic":"reference","name":"MsalModule"},"providers":[{"provide":{"__symbolic":"reference","module":"./msal.service","name":"MSAL_CONFIG"},"useValue":{"__symbolic":"reference","name":"config"}},{"__symbolic":"reference","module":"./msal.service","name":"MsalService"},{"provide":{"__symbolic":"reference","name":"WindowWrapper"},"useValue":{"__symbolic":"reference","name":"window"}}]}}}}}}]
[{"__symbolic":"module","version":3,"metadata":{"WindowWrapper":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Window"}},"MsalModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule"}],"declarations":[],"providers":[{"__symbolic":"reference","module":"./msal-guard.service","name":"MsalGuard"},{"__symbolic":"reference","module":"./broadcast.service","name":"BroadcastService"}]}]}],"statics":{"forRoot":{"__symbolic":"function","parameters":["config","angularConfig"],"value":{"ngModule":{"__symbolic":"reference","name":"MsalModule"},"providers":[{"provide":{"__symbolic":"reference","module":"./msal.service","name":"MSAL_CONFIG"},"useValue":{"__symbolic":"reference","name":"config"}},{"provide":{"__symbolic":"reference","module":"./msal.service","name":"MSAL_CONFIG_ANGULAR"},"useValue":{"__symbolic":"reference","name":"angularConfig"}},{"__symbolic":"reference","module":"./msal.service","name":"MsalService"},{"provide":{"__symbolic":"reference","name":"WindowWrapper"},"useValue":{"__symbolic":"reference","name":"window"}}]},"defaults":[null,{"__symbolic":"reference","module":"./msal-angular.configuration","name":"defaultMsalAngularConfiguration"}]}}}}},{"__symbolic":"module","version":1,"metadata":{"WindowWrapper":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Window"}},"MsalModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule"}],"declarations":[],"providers":[{"__symbolic":"reference","module":"./msal-guard.service","name":"MsalGuard"},{"__symbolic":"reference","module":"./broadcast.service","name":"BroadcastService"}]}]}],"statics":{"forRoot":{"__symbolic":"function","parameters":["config","angularConfig"],"value":{"ngModule":{"__symbolic":"reference","name":"MsalModule"},"providers":[{"provide":{"__symbolic":"reference","module":"./msal.service","name":"MSAL_CONFIG"},"useValue":{"__symbolic":"reference","name":"config"}},{"provide":{"__symbolic":"reference","module":"./msal.service","name":"MSAL_CONFIG_ANGULAR"},"useValue":{"__symbolic":"reference","name":"angularConfig"}},{"__symbolic":"reference","module":"./msal.service","name":"MsalService"},{"provide":{"__symbolic":"reference","name":"WindowWrapper"},"useValue":{"__symbolic":"reference","name":"window"}}]},"defaults":[null,{"__symbolic":"reference","module":"./msal-angular.configuration","name":"defaultMsalAngularConfiguration"}]}}}}}]
import { InjectionToken } from "@angular/core";
import { MsalConfig } from "./msal-config";
import "rxjs/add/observable/of";
import "rxjs/add/operator/do";
import "rxjs/add/operator/delay";
import { UserAgentApplication, CacheResult, User, Logger } from "msal";
import { UserAgentApplication, Configuration, AuthenticationParameters, AuthResponse, Logger } from "msal";
import { Router } from "@angular/router";
import { BroadcastService } from "./broadcast.service";
import { AuthCache } from "msal/lib-commonjs/cache/AuthCache";
import { MsalAngularConfiguration } from "./msal-angular.configuration";
export declare const MSAL_CONFIG: InjectionToken<string>;
export declare const MSAL_CONFIG_ANGULAR: InjectionToken<string>;
export declare class MsalService extends UserAgentApplication {
private config;
private msalConfig;
private msalAngularConfig;
private router;
private broadcastService;
user: any;
_oauthData: {
isAuthenticated: boolean;
userName: string;
loginError: string;
idToken: {};
};
private loginScopes;
_renewActive: boolean;
constructor(config: MsalConfig, router: Router, broadcastService: BroadcastService);
updateDataFromCache(scopes: string[]): void;
private processHash;
private processRedirectCallBack;
constructor(msalConfig: Configuration, msalAngularConfig: MsalAngularConfiguration, router: Router, broadcastService: BroadcastService);
private isUnprotectedResource;
private isEmpty;
private authCallback;
protected clearCache(): void;
getCacheStorage(): AuthCache;
loginPopup(request?: AuthenticationParameters): Promise<any>;
acquireTokenSilent(request: AuthenticationParameters): Promise<AuthResponse>;
acquireTokenPopup(request: AuthenticationParameters): Promise<AuthResponse>;
getLogger(): Logger;
getCacheStorage(): any;
isCallback(hash: string): boolean;
loginRedirect(consentScopes?: string[], extraQueryParameters?: string): void;
loginPopup(consentScopes?: string[], extraQueryParameters?: string): Promise<any>;
logout(): void;
getCachedTokenInternal(scopes: any): CacheResult;
acquireTokenSilent(scopes: Array<string>, authority?: string, user?: User, extraQueryParameters?: string): Promise<any>;
acquireTokenPopup(scopes: Array<string>, authority?: string, user?: User, extraQueryParameters?: string): Promise<any>;
acquireTokenRedirect(scopes: Array<string>, authority?: string, user?: User, extraQueryParameters?: string): void;
loginInProgress(): boolean;
getUser(): User;
getScopesForEndpoint(endpoint: string): string[];
clearCacheForScope(accessToken: string): void;
info(message: string): void;
verbose(message: string): void;
removeItem(key: string): void;
}

@@ -12,5 +12,12 @@ "use strict";

})();
var __assign = (this && this.__assign) || Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
Object.defineProperty(exports, "__esModule", { value: true });
var core_1 = require("@angular/core");
var msal_config_1 = require("./msal-config");
require("rxjs/add/observable/of");

@@ -22,32 +29,18 @@ require("rxjs/add/operator/do");

var broadcast_service_1 = require("./broadcast.service");
var AuthenticationResult_1 = require("./AuthenticationResult");
var MSALError_1 = require("./MSALError");
exports.MSAL_CONFIG = new core_1.InjectionToken("MSAL_CONFIG");
exports.MSAL_CONFIG_ANGULAR = new core_1.InjectionToken("MSAL_CONFIG_ANGULAR");
var buildMsalConfig = function (config) {
return __assign({}, config, { framework: __assign({}, config.framework, { isAngular: true }) });
};
var MsalService = /** @class */ (function (_super) {
__extends(MsalService, _super);
function MsalService(config, router, broadcastService) {
var _this = _super.call(this, config.clientID, config.authority, null, {
validateAuthority: config.validateAuthority,
cacheLocation: config.cacheLocation,
storeAuthStateInCookie: config.storeAuthStateInCookie,
redirectUri: config.redirectUri,
postLogoutRedirectUri: config.postLogoutRedirectUri,
logger: new msal_1.Logger(config.logger, { correlationId: config.correlationId, level: config.level, piiLoggingEnabled: config.piiLoggingEnabled }),
loadFrameTimeout: config.loadFrameTimeout,
navigateToLoginRequestUrl: config.navigateToLoginRequestUrl,
isAngular: true,
unprotectedResources: config.unprotectedResources,
protectedResourceMap: new Map(config.protectedResourceMap)
}) || this;
_this.config = config;
function MsalService(msalConfig, msalAngularConfig, router, broadcastService) {
var _this = _super.call(this, buildMsalConfig(msalConfig)) || this;
_this.msalConfig = msalConfig;
_this.msalAngularConfig = msalAngularConfig;
_this.router = router;
_this.broadcastService = broadcastService;
_this._oauthData = { isAuthenticated: false, userName: "", loginError: "", idToken: {} };
_this.loginScopes = [_this.clientId, "openid", "profile", "user.read"];
_this.updateDataFromCache(_this.loginScopes);
var urlHash = window.location.hash;
_this.processHash(urlHash);
window.addEventListener("msal:popUpHashChanged", function (e) {
_this._logger.verbose("popUpHashChanged ");
_this.processHash(e.detail);
_this.getLogger().verbose("popUpHashChanged ");
});

@@ -57,3 +50,3 @@ window.addEventListener('msal:popUpClosed', function (e) {

var msalError = new MSALError_1.MSALError(errorParts[0], errorParts[1]);
if (_this.loginInProgress()) {
if (_this.getLoginInProgress()) {
broadcastService.broadcast('msal:loginFailure', msalError);

@@ -70,5 +63,5 @@ _this.setloginInProgress(false);

if (!router.config[i].canActivate) {
if (_this.config && _this.config.unprotectedResources) {
if (_this.msalConfig.framework.unprotectedResources) {
if (!_this.isUnprotectedResource(router.config[i].path) && !_this.isEmpty(router.config[i].path)) {
_this.config.unprotectedResources.push(router.config[i].path);
_this.msalConfig.framework.unprotectedResources.push(router.config[i].path);
}

@@ -81,163 +74,6 @@ }

}
MsalService.prototype.updateDataFromCache = function (scopes) {
// only cache lookup here to not interrupt with events
var cacheResult;
cacheResult = _super.prototype.getCachedTokenInternal.call(this, scopes, this.getUser());
this._oauthData.isAuthenticated = cacheResult != null && cacheResult.token !== null && cacheResult.token.length > 0;
var user = this.getUser();
if (user) {
this._oauthData.userName = user.name;
this._oauthData.idToken = user.idToken;
}
if (cacheResult && cacheResult.error) {
this._oauthData.loginError = cacheResult == null ? "" : cacheResult.error;
}
};
MsalService.prototype.processHash = function (hash) {
var _this = this;
if (this.isCallback(hash)) {
var isPopup = false;
var requestInfo = null;
var callback = null;
var msal;
// callback can come from popupWindow, iframe or mainWindow
if (window.openedWindows.length > 0 && window.openedWindows[window.openedWindows.length - 1].opener
&& window.openedWindows[window.openedWindows.length - 1].opener.msal) {
var mainWindow = window.openedWindows[window.openedWindows.length - 1].opener;
msal = mainWindow.msal;
isPopup = true;
requestInfo = msal.getRequestInfo(hash);
if (mainWindow.callBackMappedToRenewStates[requestInfo.stateResponse]) {
callback = mainWindow.callBackMappedToRenewStates[requestInfo.stateResponse];
}
}
//redirect flow
else if (window.parent && window.parent.msal) {
msal = window.parent.msal;
requestInfo = msal.getRequestInfo(hash);
if (window.parent !== window && window.parent.callBackMappedToRenewStates[requestInfo.stateResponse]) {
callback = window.parent.callBackMappedToRenewStates[requestInfo.stateResponse];
}
else {
callback = msal._tokenReceivedCallback;
}
}
this.getLogger().verbose("Processing the hash: " + hash);
this.saveTokenFromHash(requestInfo);
// Return to callback if it is sent from iframe
var token = requestInfo.parameters["access_token"] || requestInfo.parameters["id_token"];
var error = requestInfo.parameters["error"];
var errorDescription = requestInfo.parameters["error_description"];
var tokenType = null;
var msalError = new MSALError_1.MSALError(error, errorDescription);
var authenticationResult = new AuthenticationResult_1.AuthenticationResult(token);
if (requestInfo.stateMatch) {
if (requestInfo.requestType === "RENEW_TOKEN") {
tokenType = msal_1.Constants.accessToken;
authenticationResult.tokenType = tokenType;
this._renewActive = false;
// Call within the same context without full page redirect keeps the callback
// id_token or access_token can be renewed
if (window.parent === window && !window.parent.callBackMappedToRenewStates[requestInfo.stateResponse]) {
if (token) {
this.broadcastService.broadcast("msal:acquireTokenSuccess", authenticationResult);
}
else if (error && errorDescription) {
this.broadcastService.broadcast("msal:acquireTokenFailure", msalError);
}
}
}
else if (requestInfo.requestType === "LOGIN") {
tokenType = msal_1.Constants.idToken;
authenticationResult.tokenType = tokenType;
this.updateDataFromCache(this.loginScopes);
if (this._oauthData.userName) {
setTimeout(function () {
// id_token is added as token for the app
_this.updateDataFromCache(_this.loginScopes);
//todo temp commented
// this.userInfo = this._oauthData;
}, 1);
this.broadcastService.broadcast("msal:loginSuccess", authenticationResult);
}
else {
this.broadcastService.broadcast("msal:loginFailure", msalError);
}
}
if (callback && typeof callback === "function") {
callback(errorDescription, token, error, tokenType);
}
// since this is a token renewal request in iFrame, we don't need to proceed with the location change.
if (window.parent !== window) { //in iframe
if (event && event.preventDefault) {
event.preventDefault();
}
return;
}
// redirect to login start page
if (window.parent === window && !isPopup) {
if (this._navigateToLoginRequestUrl) {
var loginStartPage = this._cacheStorage.getItem(msal_1.Constants.loginRequest);
this._cacheStorage.setItem(msal_1.Constants.urlHash, hash);
if (typeof loginStartPage !== "undefined" && loginStartPage && loginStartPage.length !== 0) {
// prevent the current location change and redirect the user back to the login start page
this._logger.verbose("Redirecting to start page: " + loginStartPage);
window.location.href = loginStartPage;
}
}
//redirect to redirect uri. No page reload here since we are only removing the url after the hash
else {
window.location.hash = '';
}
}
}
else {
// state did not match, broadcast an error
this.broadcastService.broadcast("msal:stateMismatch", msalError);
}
}
else {
var pendingCallback = this._cacheStorage.getItem(msal_1.Constants.urlHash);
if (pendingCallback) {
this.processRedirectCallBack(pendingCallback);
}
}
};
;
MsalService.prototype.processRedirectCallBack = function (hash) {
this._logger.info('Processing the callback from redirect response');
var requestInfo = this.getRequestInfo(hash);
var token = requestInfo.parameters[msal_1.Constants.accessToken] || requestInfo.parameters[msal_1.Constants.idToken];
var errorDesc = requestInfo.parameters[msal_1.Constants.errorDescription];
var error = requestInfo.parameters[msal_1.Constants.error];
var tokenType;
this._cacheStorage.removeItem(msal_1.Constants.urlHash);
var msalError = new MSALError_1.MSALError(error, errorDesc);
var authenticationResult = new AuthenticationResult_1.AuthenticationResult(token);
if (requestInfo.parameters[msal_1.Constants.accessToken]) {
tokenType = msal_1.Constants.accessToken;
if (token) {
authenticationResult.tokenType = tokenType;
this.broadcastService.broadcast("msal:acquireTokenSuccess", authenticationResult);
}
else if (error && errorDesc) {
//TODO this should also send back the scopes
this.broadcastService.broadcast("msal:acquireTokenFailure", msalError);
}
}
else {
tokenType = msal_1.Constants.idToken;
if (token) {
authenticationResult.tokenType = tokenType;
this.broadcastService.broadcast("msal:loginSuccess", authenticationResult);
}
else if (error && errorDesc) {
this.broadcastService.broadcast("msal:loginFailure", msalError);
}
}
};
MsalService.prototype.isUnprotectedResource = function (url) {
if (this.config && this.config.unprotectedResources) {
for (var i = 0; i < this.config.unprotectedResources.length; i++) {
if (url.indexOf(this.config.unprotectedResources[i]) > -1) {
if (this.msalConfig && this.msalConfig.framework.unprotectedResources) {
for (var i = 0; i < this.msalConfig.framework.unprotectedResources.length; i++) {
if (url.indexOf(this.msalConfig.framework.unprotectedResources[i]) > -1) {
return true;

@@ -252,89 +88,47 @@ }

};
//dummy method for future use
MsalService.prototype.authCallback = function (errorDesc, _token, error, _tokenType) {
};
MsalService.prototype.clearCache = function () {
_super.prototype.clearCache.call(this);
};
/*This is a private api and not supposed to be use by customers */
MsalService.prototype.getLogger = function () {
return _super.prototype.getLogger.call(this);
};
MsalService.prototype.getCacheStorage = function () {
return this._cacheStorage;
return this.cacheStorage;
};
MsalService.prototype.isCallback = function (hash) {
return _super.prototype.isCallback.call(this, hash);
};
MsalService.prototype.loginRedirect = function (consentScopes, extraQueryParameters) {
this._logger.verbose("login redirect flow");
_super.prototype.loginRedirect.call(this, consentScopes, extraQueryParameters);
};
MsalService.prototype.loginPopup = function (consentScopes, extraQueryParameters) {
MsalService.prototype.loginPopup = function (request) {
var _this = this;
this._logger.verbose("login popup flow");
return _super.prototype.loginPopup.call(this, consentScopes, extraQueryParameters)
.then(function (idToken) {
var authenticationResult = new AuthenticationResult_1.AuthenticationResult(idToken, "idToken");
_this.broadcastService.broadcast("msal:loginSuccess", authenticationResult);
return idToken;
}, function (error) {
var errorParts = error.split('|');
var msalError = new MSALError_1.MSALError(errorParts[0], errorParts[1]);
_this._logger.error("Error during login:\n" + error);
_this.broadcastService.broadcast("msal:loginFailure", msalError);
return _super.prototype.loginPopup.call(this, request)
.then(function (authResponse) {
_this.broadcastService.broadcast("msal:loginSuccess", authResponse);
return authResponse;
})
.catch(function (error) {
_this.broadcastService.broadcast("msal:loginFailure", error);
_this.getLogger().error("Error during login:\n" + error.errorMessage);
throw error;
});
};
MsalService.prototype.logout = function () {
this.user = null;
_super.prototype.logout.call(this);
};
MsalService.prototype.getCachedTokenInternal = function (scopes) {
return _super.prototype.getCachedTokenInternal.call(this, scopes, this.getUser());
};
MsalService.prototype.acquireTokenSilent = function (scopes, authority, user, extraQueryParameters) {
MsalService.prototype.acquireTokenSilent = function (request) {
var _this = this;
return _super.prototype.acquireTokenSilent.call(this, scopes, authority, user, extraQueryParameters).then(function (token) {
_this._renewActive = false;
var authenticationResult = new AuthenticationResult_1.AuthenticationResult(token);
_this.broadcastService.broadcast('msal:acquireTokenSuccess', authenticationResult);
return token;
}, function (error) {
var errorParts = error.split('|');
var msalError = new MSALError_1.MSALError(errorParts[0], errorParts[1]);
_this._renewActive = false;
_this.broadcastService.broadcast('msal:acquireTokenFailure', msalError);
_this._logger.error('Error when acquiring token for scopes: ' + scopes + " " + error);
return _super.prototype.acquireTokenSilent.call(this, request)
.then(function (authResponse) {
_this.broadcastService.broadcast('msal:acquireTokenSuccess', authResponse);
return authResponse;
})
.catch(function (error) {
_this.broadcastService.broadcast('msal:acquireTokenFailure', error.errorMessage);
_this.getLogger().error('Error when acquiring token for scopes: ' + request.scopes + " " + error);
throw error;
});
};
MsalService.prototype.acquireTokenPopup = function (scopes, authority, user, extraQueryParameters) {
MsalService.prototype.acquireTokenPopup = function (request) {
var _this = this;
return _super.prototype.acquireTokenPopup.call(this, scopes, authority, user, extraQueryParameters).then(function (token) {
_this._renewActive = false;
var authenticationResult = new AuthenticationResult_1.AuthenticationResult(token);
_this.broadcastService.broadcast('msal:acquireTokenSuccess', authenticationResult);
return token;
}, function (error) {
var errorParts = error.split('|');
var msalError = new MSALError_1.MSALError(errorParts[0], errorParts[1]);
_this._renewActive = false;
_this.broadcastService.broadcast('msal:acquireTokenFailure', msalError);
_this._logger.error('Error when acquiring token for scopes : ' + scopes + " " + error);
return _super.prototype.acquireTokenPopup.call(this, request)
.then(function (authResponse) {
_this.broadcastService.broadcast('msal:acquireTokenSuccess', authResponse);
return authResponse;
})
.catch(function (error) {
_this.broadcastService.broadcast('msal:acquireTokenFailure', error);
_this.getLogger().error('Error when acquiring token for scopes : ' + request.scopes + " " + error);
throw error;
});
};
MsalService.prototype.acquireTokenRedirect = function (scopes, authority, user, extraQueryParameters) {
var acquireTokenStartPage = this._cacheStorage.getItem(msal_1.Constants.loginRequest);
if (window.location.href !== acquireTokenStartPage)
this._cacheStorage.setItem(msal_1.Constants.loginRequest, window.location.href);
_super.prototype.acquireTokenRedirect.call(this, scopes, authority, user, extraQueryParameters);
MsalService.prototype.getLogger = function () {
return _super.prototype.getLogger.call(this);
};
MsalService.prototype.loginInProgress = function () {
return _super.prototype.loginInProgress.call(this);
};
MsalService.prototype.getUser = function () {
return _super.prototype.getUser.call(this);
};
MsalService.prototype.getScopesForEndpoint = function (endpoint) {

@@ -344,13 +138,4 @@ return _super.prototype.getScopesForEndpoint.call(this, endpoint);

MsalService.prototype.clearCacheForScope = function (accessToken) {
_super.prototype.clearCacheForScope.call(this, accessToken);
return _super.prototype.clearCacheForScope.call(this, accessToken);
};
MsalService.prototype.info = function (message) {
this._logger.info(message);
};
MsalService.prototype.verbose = function (message) {
this._logger.verbose(message);
};
MsalService.prototype.removeItem = function (key) {
this._cacheStorage.removeItem(key);
};
MsalService.decorators = [

@@ -361,3 +146,4 @@ { type: core_1.Injectable },

MsalService.ctorParameters = function () { return [
{ type: msal_config_1.MsalConfig, decorators: [{ type: core_1.Inject, args: [exports.MSAL_CONFIG,] },] },
{ type: undefined, decorators: [{ type: core_1.Inject, args: [exports.MSAL_CONFIG,] },] },
{ type: undefined, decorators: [{ type: core_1.Inject, args: [exports.MSAL_CONFIG_ANGULAR,] },] },
{ type: router_1.Router, },

@@ -364,0 +150,0 @@ { type: broadcast_service_1.BroadcastService, },

@@ -1,1 +0,1 @@

[{"__symbolic":"module","version":3,"metadata":{"MSAL_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["MSAL_CONFIG"]},"MsalService":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"msal","name":"UserAgentApplication"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"MSAL_CONFIG"}]}],null,null],"parameters":[{"__symbolic":"reference","module":"./msal-config","name":"MsalConfig"},{"__symbolic":"reference","module":"@angular/router","name":"Router"},{"__symbolic":"reference","module":"./broadcast.service","name":"BroadcastService"}]}],"updateDataFromCache":[{"__symbolic":"method"}],"processHash":[{"__symbolic":"method"}],"processRedirectCallBack":[{"__symbolic":"method"}],"isUnprotectedResource":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}],"authCallback":[{"__symbolic":"method"}],"clearCache":[{"__symbolic":"method"}],"getLogger":[{"__symbolic":"method"}],"getCacheStorage":[{"__symbolic":"method"}],"isCallback":[{"__symbolic":"method"}],"loginRedirect":[{"__symbolic":"method"}],"loginPopup":[{"__symbolic":"method"}],"logout":[{"__symbolic":"method"}],"getCachedTokenInternal":[{"__symbolic":"method"}],"acquireTokenSilent":[{"__symbolic":"method"}],"acquireTokenPopup":[{"__symbolic":"method"}],"acquireTokenRedirect":[{"__symbolic":"method"}],"loginInProgress":[{"__symbolic":"method"}],"getUser":[{"__symbolic":"method"}],"getScopesForEndpoint":[{"__symbolic":"method"}],"clearCacheForScope":[{"__symbolic":"method"}],"info":[{"__symbolic":"method"}],"verbose":[{"__symbolic":"method"}],"removeItem":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"MSAL_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["MSAL_CONFIG"]},"MsalService":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"msal","name":"UserAgentApplication"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"MSAL_CONFIG"}]}],null,null],"parameters":[{"__symbolic":"reference","module":"./msal-config","name":"MsalConfig"},{"__symbolic":"reference","module":"@angular/router","name":"Router"},{"__symbolic":"reference","module":"./broadcast.service","name":"BroadcastService"}]}],"updateDataFromCache":[{"__symbolic":"method"}],"processHash":[{"__symbolic":"method"}],"processRedirectCallBack":[{"__symbolic":"method"}],"isUnprotectedResource":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}],"authCallback":[{"__symbolic":"method"}],"clearCache":[{"__symbolic":"method"}],"getLogger":[{"__symbolic":"method"}],"getCacheStorage":[{"__symbolic":"method"}],"isCallback":[{"__symbolic":"method"}],"loginRedirect":[{"__symbolic":"method"}],"loginPopup":[{"__symbolic":"method"}],"logout":[{"__symbolic":"method"}],"getCachedTokenInternal":[{"__symbolic":"method"}],"acquireTokenSilent":[{"__symbolic":"method"}],"acquireTokenPopup":[{"__symbolic":"method"}],"acquireTokenRedirect":[{"__symbolic":"method"}],"loginInProgress":[{"__symbolic":"method"}],"getUser":[{"__symbolic":"method"}],"getScopesForEndpoint":[{"__symbolic":"method"}],"clearCacheForScope":[{"__symbolic":"method"}],"info":[{"__symbolic":"method"}],"verbose":[{"__symbolic":"method"}],"removeItem":[{"__symbolic":"method"}]}}}}]
[{"__symbolic":"module","version":3,"metadata":{"MSAL_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["MSAL_CONFIG"]},"MSAL_CONFIG_ANGULAR":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["MSAL_CONFIG_ANGULAR"]},"MsalService":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"msal","name":"UserAgentApplication"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"MSAL_CONFIG"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"MSAL_CONFIG_ANGULAR"}]}],null,null],"parameters":[{"__symbolic":"reference","module":"msal","name":"Configuration"},{"__symbolic":"reference","module":"./msal-angular.configuration","name":"MsalAngularConfiguration"},{"__symbolic":"reference","module":"@angular/router","name":"Router"},{"__symbolic":"reference","module":"./broadcast.service","name":"BroadcastService"}]}],"isUnprotectedResource":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}],"getCacheStorage":[{"__symbolic":"method"}],"loginPopup":[{"__symbolic":"method"}],"acquireTokenSilent":[{"__symbolic":"method"}],"acquireTokenPopup":[{"__symbolic":"method"}],"getLogger":[{"__symbolic":"method"}],"getScopesForEndpoint":[{"__symbolic":"method"}],"clearCacheForScope":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"MSAL_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["MSAL_CONFIG"]},"MSAL_CONFIG_ANGULAR":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["MSAL_CONFIG_ANGULAR"]},"MsalService":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"msal","name":"UserAgentApplication"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"MSAL_CONFIG"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"MSAL_CONFIG_ANGULAR"}]}],null,null],"parameters":[{"__symbolic":"reference","module":"msal","name":"Configuration"},{"__symbolic":"reference","module":"./msal-angular.configuration","name":"MsalAngularConfiguration"},{"__symbolic":"reference","module":"@angular/router","name":"Router"},{"__symbolic":"reference","module":"./broadcast.service","name":"BroadcastService"}]}],"isUnprotectedResource":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}],"getCacheStorage":[{"__symbolic":"method"}],"loginPopup":[{"__symbolic":"method"}],"acquireTokenSilent":[{"__symbolic":"method"}],"acquireTokenPopup":[{"__symbolic":"method"}],"getLogger":[{"__symbolic":"method"}],"getScopesForEndpoint":[{"__symbolic":"method"}],"clearCacheForScope":[{"__symbolic":"method"}]}}}}]

@@ -13,3 +13,3 @@ {

},
"version": "0.1.4",
"version": "1.0.0-alpha.0",
"keywords": [

@@ -28,5 +28,10 @@ "implicit",

"dependencies": {
"msal": "0.2.2",
"tslib": "1.7.1"
},
"peerDependencies": {
"@angular/common": "^4.3.0",
"@angular/core": "^4.3.0",
"msal": "^1.2.0",
"rxjs": "^5.0.1"
},
"devDependencies": {

@@ -71,2 +76,3 @@ "@angular/common": "^4.3.0",

"karma-webpack": "^3.0.0",
"msal": "^1.2.0",
"phantomjs-polyfill": "0.0.2",

@@ -86,7 +92,2 @@ "reflect-metadata": "^0.1.3",

},
"peerDependencies": {
"@angular/common": "^4.3.0",
"@angular/core": "^4.3.0",
"rxjs": "^5.0.1"
},
"directories": {

@@ -98,6 +99,6 @@ "test": "tests"

"doc": "typedoc --out ./docs ./src/ --gitRevision dev",
"build:ngc": "ngc -p tsconfig.json",
"build": "npm run clean && npm run doc && npm run build:ngc",
"build:modules": "ngc -p tsconfig.json",
"build": "npm run clean && npm run doc && npm run build:modules",
"test": "typings install && npm run test:verify-build && karma start karma.conf.js",
"test:verify-build": "npm run build:ngc",
"test:verify-build": "npm run build:modules",
"ngcompile": "npm run build",

@@ -104,0 +105,0 @@ "endToEnd": "cd tests/endToEndTests && npm install && node testRunner.js",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc