{"version":3,"file":"ngx-adal-angular.mjs","sources":["../../../projects/ngx-adal-angular/src/lib/ngx-adal-angular.service.ts","../../../projects/ngx-adal-angular/src/lib/ngx-adal-angular.guard.ts","../../../projects/ngx-adal-angular/src/lib/ngx-adal-angular.module.ts","../../../projects/ngx-adal-angular/src/public-api.ts","../../../projects/ngx-adal-angular/src/ngx-adal-angular.ts"],"sourcesContent":["/// <reference path='./../../../../node_modules/@types/adal/index.d.ts'/>\nimport { Injectable, Inject } from '@angular/core';\nimport { bindCallback } from 'rxjs';\nimport * as adalLib from 'adal-angular';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class NgxAdalAngularService {\n  private context: adal.AuthenticationContext;\n\n  constructor(\n    @Inject('adalConfig') private adalConfig: any\n  ) {\n    if (typeof adalConfig === 'function') \n      this.adalConfig = adalConfig();\n    this.context = <adal.AuthenticationContext>adalLib.inject(this.adalConfig);\n    this.handleCallback();    \n  }\n\n  public get LoggedInUserEmail() {\n    if (this.isAuthenticated) \n      return this.context.getCachedUser().userName;\n    return '';\n  }\n\n  public get LoggedInUserName() {\n    if (this.isAuthenticated)\n      return this.context.getCachedUser().profile.name;\n    return '';\n  }\n\n  public login() {\n    this.context.login();\n  }\n\n  public logout() {\n    this.context.logOut();\n  }\n\n  public GetResourceForEndpoint(url: string): string {\n    let resource = null;\n    if (url) {\n      resource = this.context.getResourceForEndpoint(url);\n      if (!resource) {\n        resource = this.adalConfig.clientId;\n      }\n    }\n    return resource;\n  }\n\n  public RenewToken(url: string) {\n    let resource = this.GetResourceForEndpoint(url);\n    return this.context.clearCacheForResource(resource); // Trigger the ADAL token renew \n  }\n\n  public acquireToken(url: string) {\n    const _this = this;   // save outer this for inner function\n    let errorMessage: string;\n\n    return bindCallback(acquireTokenInternal, (token: string) => {\n      if (!token && errorMessage) {\n        throw (errorMessage);\n      }\n      return token;\n    })();\n\n    function acquireTokenInternal(cb: any) {\n      let s: string = '';\n      let resource: string;\n      resource = _this.GetResourceForEndpoint(url);\n\n      _this.context.acquireToken(resource, (error: string, tokenOut: string) => {\n        if (error) {\n          _this.context.error('Error when acquiring token for resource: ' + resource, error);\n          errorMessage = error;\n          cb('' as string);\n        } else {\n          cb(tokenOut);\n          s = tokenOut;\n        }\n      });\n      return s;\n    }\n  }\n\n  public getToken(url: string): string {\n    const resource = this.context.getResourceForEndpoint(url);\n    const storage = this.adalConfig.cacheLocation;\n    let key: string = '';\n    if (resource) key = 'adal.access.token.key' + resource;\n    else key = 'adal.idtoken';\n\n    if (storage === 'localStorage')\n      return localStorage.getItem(key) ?? '';\n    else \n      return sessionStorage.getItem(key) ?? '';     \n  }\n\n  handleCallback() {\n    this.context.handleWindowCallback();\n  }\n\n  public get userInfo() {\n    return this.context.getCachedUser();\n  }\n\n  public get accessToken() {\n    return this.context.getCachedToken(this.adalConfig.clientId);\n  }\n\n  public get isAuthenticated(): boolean {\n    return (this.userInfo && this.accessToken) ? true : false;\n  }\n}","import { Injectable } from \"@angular/core\";\r\nimport { CanActivate, CanActivateChild, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { NgxAdalAngularService } from \"./ngx-adal-angular.service\";\r\n\r\n@Injectable()\r\nexport class NgxAdalGuard implements CanActivate, CanActivateChild {\r\n    \r\n    constructor(private adalSvc: NgxAdalAngularService) {}\r\n\r\n    public canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n        if (this.adalSvc.isAuthenticated)  return true;\r\n        else {\r\n            this.adalSvc.login();\r\n            return false;\r\n        }\r\n    }\r\n\r\n    public canActivateChild(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n        return this.canActivate(childRoute, state);\r\n    }\r\n}","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgxAdalAngularService } from './ngx-adal-angular.service';\n\n@NgModule({\n  declarations: [],\n  imports: [],\n  exports: []\n})\nexport class NgxAdalAngularModule { \n  static forRoot(adalConfig: any): ModuleWithProviders<NgxAdalAngularModule> {\n    return {\n      ngModule: NgxAdalAngularModule,\n      providers: [NgxAdalAngularService, { provide: 'adalConfig', useValue: adalConfig }]\n    };\n  }\n}\n","/*\n * Public API Surface of ngx-adal-angular\n */\n\nexport * from './lib/ngx-adal-angular.guard';\nexport * from './lib/ngx-adal-angular.service';\nexport * from './lib/ngx-adal-angular.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NgxAdalAngularService"],"mappings":"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"}