@igo2/auth 19.0.0-next.29 → 19.0.0-next.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -139,7 +139,7 @@ class AuthFormComponent {
139
139
  });
140
140
  }
141
141
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AuthFormComponent, deps: [{ token: i1.AuthService }, { token: i2.ConfigService }, { token: i3.Router, optional: true }], target: i0.ɵɵFactoryTarget.Component });
142
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: AuthFormComponent, isStandalone: true, selector: "igo-auth-form", inputs: { backgroundDisable: "backgroundDisable", hasAlreadyConnectedDiv: "hasAlreadyConnectedDiv", hasLogoutDiv: "hasLogoutDiv", showAlreadyConnectedDiv: "showAlreadyConnectedDiv", showLogoutDiv: "showLogoutDiv" }, outputs: { login: "login" }, ngImport: i0, template: "<div *ngIf=\"visible\">\n <div\n *ngIf=\"!auth.logged && backgroundDisable\"\n class=\"backgroundDisable\"\n ></div>\n\n <div *ngIf=\"!auth.logged && showLoginDiv\" class=\"login center-block\">\n <h1>{{ 'igo.auth.connection' | translate }}</h1>\n\n <igo-auth-google\n *ngIf=\"options.google && options.google.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-google>\n\n <igo-auth-microsoft\n *ngIf=\"options.microsoft && options.microsoft.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-microsoft>\n\n <igo-auth-microsoftb2c\n *ngIf=\"options.microsoftb2c && options.microsoftb2c.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-microsoftb2c>\n\n <igo-auth-facebook\n *ngIf=\"options.facebook && options.facebook.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-facebook>\n\n <igo-auth-intern\n *ngIf=\"!options.intern || options.intern.enabled !== false\"\n [allowAnonymous]=\"options.allowAnonymous\"\n (login)=\"onLogin()\"\n >\n </igo-auth-intern>\n </div>\n\n <div\n *ngIf=\"auth.logged && showAlreadyConnectedDiv\"\n class=\"login center-block\"\n >\n <p>{{ 'igo.auth.welcome' | translate: user }}</p>\n <button mat-raised-button type=\"button\" (click)=\"logout()\">\n {{ 'igo.auth.signOut' | translate }}\n </button>\n </div>\n\n <div *ngIf=\"showLogoutDiv\" class=\"login center-block\">\n <p>{{ 'igo.auth.deconnection' | translate }}</p>\n <button\n *ngIf=\"options.homeRoute\"\n mat-raised-button\n type=\"button\"\n (click)=\"home()\"\n >\n {{ 'igo.auth.home' | translate }}\n </button>\n </div>\n</div>\n", styles: [":host{z-index:999}div.login{z-index:200;width:90%;min-width:360px;max-width:600px;padding:25px 50px;border:1px solid;background-color:#fff;border-color:#888}.center-block{position:fixed;top:20%;left:50%;transform:translate(-50%)}.backgroundDisable{position:fixed;top:0;left:0;background:#000;opacity:.8;z-index:100;height:100%;width:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: AuthGoogleComponent, selector: "igo-auth-google", outputs: ["login"] }, { kind: "component", type: AuthMicrosoftComponent, selector: "igo-auth-microsoft", outputs: ["login"] }, { kind: "component", type: AuthMicrosoftb2cComponent, selector: "igo-auth-microsoftb2c", outputs: ["login"] }, { kind: "component", type: AuthFacebookComponent, selector: "igo-auth-facebook", outputs: ["login"] }, { kind: "component", type: AuthInternComponent, selector: "igo-auth-intern", inputs: ["allowAnonymous"], outputs: ["login"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default });
142
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: AuthFormComponent, isStandalone: true, selector: "igo-auth-form", inputs: { backgroundDisable: "backgroundDisable", hasAlreadyConnectedDiv: "hasAlreadyConnectedDiv", hasLogoutDiv: "hasLogoutDiv", showAlreadyConnectedDiv: "showAlreadyConnectedDiv", showLogoutDiv: "showLogoutDiv" }, outputs: { login: "login" }, ngImport: i0, template: "<div *ngIf=\"visible\">\n <div\n *ngIf=\"!auth.logged && backgroundDisable\"\n class=\"backgroundDisable\"\n ></div>\n\n <div *ngIf=\"!auth.logged && showLoginDiv\" class=\"login center-block\">\n <h3>{{ 'igo.auth.connection' | translate }}</h3>\n\n <igo-auth-google\n *ngIf=\"options.google && options.google.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-google>\n\n <igo-auth-microsoft\n *ngIf=\"options.microsoft && options.microsoft.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-microsoft>\n\n <igo-auth-microsoftb2c\n *ngIf=\"options.microsoftb2c && options.microsoftb2c.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-microsoftb2c>\n\n <igo-auth-facebook\n *ngIf=\"options.facebook && options.facebook.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-facebook>\n\n <igo-auth-intern\n *ngIf=\"!options.intern || options.intern.enabled !== false\"\n [allowAnonymous]=\"options.allowAnonymous\"\n (login)=\"onLogin()\"\n >\n </igo-auth-intern>\n </div>\n\n <div\n *ngIf=\"auth.logged && showAlreadyConnectedDiv\"\n class=\"login center-block\"\n >\n <p>{{ 'igo.auth.welcome' | translate: user }}</p>\n <button mat-raised-button type=\"button\" (click)=\"logout()\">\n {{ 'igo.auth.signOut' | translate }}\n </button>\n </div>\n\n <div *ngIf=\"showLogoutDiv\" class=\"login center-block\">\n <p>{{ 'igo.auth.deconnection' | translate }}</p>\n <button\n *ngIf=\"options.homeRoute\"\n mat-raised-button\n type=\"button\"\n (click)=\"home()\"\n >\n {{ 'igo.auth.home' | translate }}\n </button>\n </div>\n</div>\n", styles: [":host{z-index:999}div.login{z-index:200;width:90%;min-width:360px;max-width:600px;padding:24px 48px;border:1px solid;background-color:#fff;border-color:#888}div.login h3{margin-top:0}.center-block{position:fixed;top:20%;left:50%;transform:translate(-50%)}.backgroundDisable{position:fixed;top:0;left:0;background:#000;opacity:.8;z-index:100;height:100%;width:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: AuthGoogleComponent, selector: "igo-auth-google", outputs: ["login"] }, { kind: "component", type: AuthMicrosoftComponent, selector: "igo-auth-microsoft", outputs: ["login"] }, { kind: "component", type: AuthMicrosoftb2cComponent, selector: "igo-auth-microsoftb2c", outputs: ["login"] }, { kind: "component", type: AuthFacebookComponent, selector: "igo-auth-facebook", outputs: ["login"] }, { kind: "component", type: AuthInternComponent, selector: "igo-auth-intern", inputs: ["allowAnonymous"], outputs: ["login"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default });
143
143
  }
144
144
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AuthFormComponent, decorators: [{
145
145
  type: Component,
@@ -152,7 +152,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
152
152
  AuthInternComponent,
153
153
  MatButtonModule,
154
154
  IgoLanguageModule
155
- ], template: "<div *ngIf=\"visible\">\n <div\n *ngIf=\"!auth.logged && backgroundDisable\"\n class=\"backgroundDisable\"\n ></div>\n\n <div *ngIf=\"!auth.logged && showLoginDiv\" class=\"login center-block\">\n <h1>{{ 'igo.auth.connection' | translate }}</h1>\n\n <igo-auth-google\n *ngIf=\"options.google && options.google.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-google>\n\n <igo-auth-microsoft\n *ngIf=\"options.microsoft && options.microsoft.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-microsoft>\n\n <igo-auth-microsoftb2c\n *ngIf=\"options.microsoftb2c && options.microsoftb2c.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-microsoftb2c>\n\n <igo-auth-facebook\n *ngIf=\"options.facebook && options.facebook.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-facebook>\n\n <igo-auth-intern\n *ngIf=\"!options.intern || options.intern.enabled !== false\"\n [allowAnonymous]=\"options.allowAnonymous\"\n (login)=\"onLogin()\"\n >\n </igo-auth-intern>\n </div>\n\n <div\n *ngIf=\"auth.logged && showAlreadyConnectedDiv\"\n class=\"login center-block\"\n >\n <p>{{ 'igo.auth.welcome' | translate: user }}</p>\n <button mat-raised-button type=\"button\" (click)=\"logout()\">\n {{ 'igo.auth.signOut' | translate }}\n </button>\n </div>\n\n <div *ngIf=\"showLogoutDiv\" class=\"login center-block\">\n <p>{{ 'igo.auth.deconnection' | translate }}</p>\n <button\n *ngIf=\"options.homeRoute\"\n mat-raised-button\n type=\"button\"\n (click)=\"home()\"\n >\n {{ 'igo.auth.home' | translate }}\n </button>\n </div>\n</div>\n", styles: [":host{z-index:999}div.login{z-index:200;width:90%;min-width:360px;max-width:600px;padding:25px 50px;border:1px solid;background-color:#fff;border-color:#888}.center-block{position:fixed;top:20%;left:50%;transform:translate(-50%)}.backgroundDisable{position:fixed;top:0;left:0;background:#000;opacity:.8;z-index:100;height:100%;width:100%}\n"] }]
155
+ ], template: "<div *ngIf=\"visible\">\n <div\n *ngIf=\"!auth.logged && backgroundDisable\"\n class=\"backgroundDisable\"\n ></div>\n\n <div *ngIf=\"!auth.logged && showLoginDiv\" class=\"login center-block\">\n <h3>{{ 'igo.auth.connection' | translate }}</h3>\n\n <igo-auth-google\n *ngIf=\"options.google && options.google.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-google>\n\n <igo-auth-microsoft\n *ngIf=\"options.microsoft && options.microsoft.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-microsoft>\n\n <igo-auth-microsoftb2c\n *ngIf=\"options.microsoftb2c && options.microsoftb2c.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-microsoftb2c>\n\n <igo-auth-facebook\n *ngIf=\"options.facebook && options.facebook.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-facebook>\n\n <igo-auth-intern\n *ngIf=\"!options.intern || options.intern.enabled !== false\"\n [allowAnonymous]=\"options.allowAnonymous\"\n (login)=\"onLogin()\"\n >\n </igo-auth-intern>\n </div>\n\n <div\n *ngIf=\"auth.logged && showAlreadyConnectedDiv\"\n class=\"login center-block\"\n >\n <p>{{ 'igo.auth.welcome' | translate: user }}</p>\n <button mat-raised-button type=\"button\" (click)=\"logout()\">\n {{ 'igo.auth.signOut' | translate }}\n </button>\n </div>\n\n <div *ngIf=\"showLogoutDiv\" class=\"login center-block\">\n <p>{{ 'igo.auth.deconnection' | translate }}</p>\n <button\n *ngIf=\"options.homeRoute\"\n mat-raised-button\n type=\"button\"\n (click)=\"home()\"\n >\n {{ 'igo.auth.home' | translate }}\n </button>\n </div>\n</div>\n", styles: [":host{z-index:999}div.login{z-index:200;width:90%;min-width:360px;max-width:600px;padding:24px 48px;border:1px solid;background-color:#fff;border-color:#888}div.login h3{margin-top:0}.center-block{position:fixed;top:20%;left:50%;transform:translate(-50%)}.backgroundDisable{position:fixed;top:0;left:0;background:#000;opacity:.8;z-index:100;height:100%;width:100%}\n"] }]
156
156
  }], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.ConfigService }, { type: i3.Router, decorators: [{
157
157
  type: Optional
158
158
  }] }], propDecorators: { backgroundDisable: [{
@@ -1 +1 @@
1
- {"version":3,"file":"igo2-auth-form.mjs","sources":["../../../packages/auth/form/src/auth-form/auth-form.component.ts","../../../packages/auth/form/src/auth-form/auth-form.component.html","../../../packages/auth/form/src/auth-form.module.ts","../../../packages/auth/form/src/public_api.ts","../../../packages/auth/form/src/igo2-auth-form.ts"],"sourcesContent":["import { NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Optional,\n Output\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { NavigationStart, Router } from '@angular/router';\n\nimport { AuthOptions, AuthService } from '@igo2/auth';\nimport { AuthFacebookComponent } from '@igo2/auth/facebook';\nimport { AuthGoogleComponent } from '@igo2/auth/google';\nimport { AuthInternComponent } from '@igo2/auth/internal';\nimport {\n AuthMicrosoftComponent,\n AuthMicrosoftb2cComponent\n} from '@igo2/auth/microsoft';\nimport { ConfigService } from '@igo2/core/config';\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport { filter } from 'rxjs/operators';\n\nimport { AuthFormOptions } from '../shared';\n\n@Component({\n selector: 'igo-auth-form',\n templateUrl: './auth-form.component.html',\n styleUrls: ['./auth-form.component.scss'],\n changeDetection: ChangeDetectionStrategy.Default,\n imports: [\n NgIf,\n AuthGoogleComponent,\n AuthMicrosoftComponent,\n AuthMicrosoftb2cComponent,\n AuthFacebookComponent,\n AuthInternComponent,\n MatButtonModule,\n IgoLanguageModule\n ]\n})\nexport class AuthFormComponent implements OnInit {\n @Input()\n get backgroundDisable(): boolean {\n if (this.isLogoutRoute || this.isLogoutRoute) {\n return false;\n }\n return this._backgroundDisable;\n }\n set backgroundDisable(value: boolean) {\n this._backgroundDisable = value.toString() === 'true';\n }\n private _backgroundDisable = true;\n\n @Input()\n get hasAlreadyConnectedDiv(): boolean {\n return this._hasAlreadyConnectedDiv;\n }\n set hasAlreadyConnectedDiv(value: boolean) {\n this._hasAlreadyConnectedDiv = value.toString() === 'true';\n }\n private _hasAlreadyConnectedDiv = true;\n\n @Input()\n get hasLogoutDiv(): boolean {\n return this._hasLogoutDiv;\n }\n set hasLogoutDiv(value: boolean) {\n this._hasLogoutDiv = value.toString() === 'true';\n }\n private _hasLogoutDiv = true;\n\n @Input()\n get showAlreadyConnectedDiv(): boolean {\n if (this.isLogoutRoute) {\n return this.hasAlreadyConnectedDiv;\n }\n return this._showAlreadyConnectedDiv;\n }\n set showAlreadyConnectedDiv(value: boolean) {\n this._showAlreadyConnectedDiv = value.toString() === 'true';\n }\n private _showAlreadyConnectedDiv = false;\n\n @Input()\n get showLogoutDiv(): boolean {\n if (this.isLogoutRoute) {\n return this.hasLogoutDiv;\n }\n return this._showLogoutDiv;\n }\n set showLogoutDiv(value: boolean) {\n this._showLogoutDiv = value.toString() === 'true';\n }\n private _showLogoutDiv = false;\n\n get showLoginDiv(): boolean {\n if (!this.isLogoutRoute) {\n return true;\n }\n }\n\n @Output() login: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n public options?: AuthOptions & AuthFormOptions;\n public user;\n\n public visible = true;\n\n private isLogoutRoute: boolean;\n\n constructor(\n public auth: AuthService,\n private config: ConfigService,\n @Optional() private router: Router\n ) {\n this.options = this.config.getConfig('auth');\n this.visible = Object.getOwnPropertyNames(this.options).length !== 0;\n }\n\n public ngOnInit() {\n this.analyzeRoute();\n this.getName();\n }\n\n public onLogin() {\n this.auth.goToRedirectUrl();\n this.getName();\n this.login.emit(true);\n }\n\n public logout() {\n this.auth.logout().subscribe(() => {\n this.user = undefined;\n if (this.router) {\n if (this.options?.logoutRoute) {\n this.router.navigate([this.options?.logoutRoute]);\n } else if (this.options?.homeRoute) {\n this.router.navigate([this.options?.homeRoute]);\n }\n }\n });\n }\n\n public home() {\n if (this.router && this.options?.homeRoute) {\n this.router.navigate([this.options?.homeRoute]);\n }\n }\n\n private getName() {\n const tokenDecoded = this.auth.decodeToken();\n if (tokenDecoded) {\n this.user = {\n name: tokenDecoded.user.firstName || tokenDecoded.user.sourceId\n };\n }\n }\n\n private analyzeRoute() {\n if (!this.router) {\n return;\n }\n\n this.router.events\n .pipe(filter((event) => event instanceof NavigationStart))\n .subscribe((changeEvent: any) => {\n if (changeEvent.url) {\n const currentRoute = changeEvent.url;\n const logoutRoute = this.options?.logoutRoute;\n\n this.isLogoutRoute = currentRoute === logoutRoute;\n\n if (this.isLogoutRoute) {\n this.auth.logout();\n }\n }\n });\n }\n}\n","<div *ngIf=\"visible\">\n <div\n *ngIf=\"!auth.logged && backgroundDisable\"\n class=\"backgroundDisable\"\n ></div>\n\n <div *ngIf=\"!auth.logged && showLoginDiv\" class=\"login center-block\">\n <h1>{{ 'igo.auth.connection' | translate }}</h1>\n\n <igo-auth-google\n *ngIf=\"options.google && options.google.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-google>\n\n <igo-auth-microsoft\n *ngIf=\"options.microsoft && options.microsoft.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-microsoft>\n\n <igo-auth-microsoftb2c\n *ngIf=\"options.microsoftb2c && options.microsoftb2c.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-microsoftb2c>\n\n <igo-auth-facebook\n *ngIf=\"options.facebook && options.facebook.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-facebook>\n\n <igo-auth-intern\n *ngIf=\"!options.intern || options.intern.enabled !== false\"\n [allowAnonymous]=\"options.allowAnonymous\"\n (login)=\"onLogin()\"\n >\n </igo-auth-intern>\n </div>\n\n <div\n *ngIf=\"auth.logged && showAlreadyConnectedDiv\"\n class=\"login center-block\"\n >\n <p>{{ 'igo.auth.welcome' | translate: user }}</p>\n <button mat-raised-button type=\"button\" (click)=\"logout()\">\n {{ 'igo.auth.signOut' | translate }}\n </button>\n </div>\n\n <div *ngIf=\"showLogoutDiv\" class=\"login center-block\">\n <p>{{ 'igo.auth.deconnection' | translate }}</p>\n <button\n *ngIf=\"options.homeRoute\"\n mat-raised-button\n type=\"button\"\n (click)=\"home()\"\n >\n {{ 'igo.auth.home' | translate }}\n </button>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\nimport { AuthFacebookComponent } from '@igo2/auth/facebook';\nimport { AuthGoogleComponent } from '@igo2/auth/google';\nimport { AuthInternComponent } from '@igo2/auth/internal';\nimport {\n AuthMicrosoftComponent,\n AuthMicrosoftb2cComponent\n} from '@igo2/auth/microsoft';\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport { MsalModule } from '@azure/msal-angular';\n\nimport { AuthFormComponent } from './auth-form/auth-form.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatInputModule,\n MatIconModule,\n MatProgressSpinnerModule,\n MatButtonModule,\n IgoLanguageModule,\n MsalModule,\n AuthFormComponent,\n AuthGoogleComponent,\n AuthInternComponent,\n AuthFacebookComponent,\n AuthMicrosoftComponent,\n AuthMicrosoftb2cComponent\n ],\n exports: [AuthFormComponent]\n})\nexport class IgoAuthFormModule {}\n","/*\n * Public API Surface of auth\n */\n\nexport * from './shared/auth-form.interface';\nexport * from './auth-form.module';\n\nexport * from './auth-form/auth-form.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"igo2-auth-form.mjs","sources":["../../../packages/auth/form/src/auth-form/auth-form.component.ts","../../../packages/auth/form/src/auth-form/auth-form.component.html","../../../packages/auth/form/src/auth-form.module.ts","../../../packages/auth/form/src/public_api.ts","../../../packages/auth/form/src/igo2-auth-form.ts"],"sourcesContent":["import { NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Optional,\n Output\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { NavigationStart, Router } from '@angular/router';\n\nimport { AuthOptions, AuthService } from '@igo2/auth';\nimport { AuthFacebookComponent } from '@igo2/auth/facebook';\nimport { AuthGoogleComponent } from '@igo2/auth/google';\nimport { AuthInternComponent } from '@igo2/auth/internal';\nimport {\n AuthMicrosoftComponent,\n AuthMicrosoftb2cComponent\n} from '@igo2/auth/microsoft';\nimport { ConfigService } from '@igo2/core/config';\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport { filter } from 'rxjs/operators';\n\nimport { AuthFormOptions } from '../shared';\n\n@Component({\n selector: 'igo-auth-form',\n templateUrl: './auth-form.component.html',\n styleUrls: ['./auth-form.component.scss'],\n changeDetection: ChangeDetectionStrategy.Default,\n imports: [\n NgIf,\n AuthGoogleComponent,\n AuthMicrosoftComponent,\n AuthMicrosoftb2cComponent,\n AuthFacebookComponent,\n AuthInternComponent,\n MatButtonModule,\n IgoLanguageModule\n ]\n})\nexport class AuthFormComponent implements OnInit {\n @Input()\n get backgroundDisable(): boolean {\n if (this.isLogoutRoute || this.isLogoutRoute) {\n return false;\n }\n return this._backgroundDisable;\n }\n set backgroundDisable(value: boolean) {\n this._backgroundDisable = value.toString() === 'true';\n }\n private _backgroundDisable = true;\n\n @Input()\n get hasAlreadyConnectedDiv(): boolean {\n return this._hasAlreadyConnectedDiv;\n }\n set hasAlreadyConnectedDiv(value: boolean) {\n this._hasAlreadyConnectedDiv = value.toString() === 'true';\n }\n private _hasAlreadyConnectedDiv = true;\n\n @Input()\n get hasLogoutDiv(): boolean {\n return this._hasLogoutDiv;\n }\n set hasLogoutDiv(value: boolean) {\n this._hasLogoutDiv = value.toString() === 'true';\n }\n private _hasLogoutDiv = true;\n\n @Input()\n get showAlreadyConnectedDiv(): boolean {\n if (this.isLogoutRoute) {\n return this.hasAlreadyConnectedDiv;\n }\n return this._showAlreadyConnectedDiv;\n }\n set showAlreadyConnectedDiv(value: boolean) {\n this._showAlreadyConnectedDiv = value.toString() === 'true';\n }\n private _showAlreadyConnectedDiv = false;\n\n @Input()\n get showLogoutDiv(): boolean {\n if (this.isLogoutRoute) {\n return this.hasLogoutDiv;\n }\n return this._showLogoutDiv;\n }\n set showLogoutDiv(value: boolean) {\n this._showLogoutDiv = value.toString() === 'true';\n }\n private _showLogoutDiv = false;\n\n get showLoginDiv(): boolean {\n if (!this.isLogoutRoute) {\n return true;\n }\n }\n\n @Output() login: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n public options?: AuthOptions & AuthFormOptions;\n public user;\n\n public visible = true;\n\n private isLogoutRoute: boolean;\n\n constructor(\n public auth: AuthService,\n private config: ConfigService,\n @Optional() private router: Router\n ) {\n this.options = this.config.getConfig('auth');\n this.visible = Object.getOwnPropertyNames(this.options).length !== 0;\n }\n\n public ngOnInit() {\n this.analyzeRoute();\n this.getName();\n }\n\n public onLogin() {\n this.auth.goToRedirectUrl();\n this.getName();\n this.login.emit(true);\n }\n\n public logout() {\n this.auth.logout().subscribe(() => {\n this.user = undefined;\n if (this.router) {\n if (this.options?.logoutRoute) {\n this.router.navigate([this.options?.logoutRoute]);\n } else if (this.options?.homeRoute) {\n this.router.navigate([this.options?.homeRoute]);\n }\n }\n });\n }\n\n public home() {\n if (this.router && this.options?.homeRoute) {\n this.router.navigate([this.options?.homeRoute]);\n }\n }\n\n private getName() {\n const tokenDecoded = this.auth.decodeToken();\n if (tokenDecoded) {\n this.user = {\n name: tokenDecoded.user.firstName || tokenDecoded.user.sourceId\n };\n }\n }\n\n private analyzeRoute() {\n if (!this.router) {\n return;\n }\n\n this.router.events\n .pipe(filter((event) => event instanceof NavigationStart))\n .subscribe((changeEvent: any) => {\n if (changeEvent.url) {\n const currentRoute = changeEvent.url;\n const logoutRoute = this.options?.logoutRoute;\n\n this.isLogoutRoute = currentRoute === logoutRoute;\n\n if (this.isLogoutRoute) {\n this.auth.logout();\n }\n }\n });\n }\n}\n","<div *ngIf=\"visible\">\n <div\n *ngIf=\"!auth.logged && backgroundDisable\"\n class=\"backgroundDisable\"\n ></div>\n\n <div *ngIf=\"!auth.logged && showLoginDiv\" class=\"login center-block\">\n <h3>{{ 'igo.auth.connection' | translate }}</h3>\n\n <igo-auth-google\n *ngIf=\"options.google && options.google.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-google>\n\n <igo-auth-microsoft\n *ngIf=\"options.microsoft && options.microsoft.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-microsoft>\n\n <igo-auth-microsoftb2c\n *ngIf=\"options.microsoftb2c && options.microsoftb2c.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-microsoftb2c>\n\n <igo-auth-facebook\n *ngIf=\"options.facebook && options.facebook.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-facebook>\n\n <igo-auth-intern\n *ngIf=\"!options.intern || options.intern.enabled !== false\"\n [allowAnonymous]=\"options.allowAnonymous\"\n (login)=\"onLogin()\"\n >\n </igo-auth-intern>\n </div>\n\n <div\n *ngIf=\"auth.logged && showAlreadyConnectedDiv\"\n class=\"login center-block\"\n >\n <p>{{ 'igo.auth.welcome' | translate: user }}</p>\n <button mat-raised-button type=\"button\" (click)=\"logout()\">\n {{ 'igo.auth.signOut' | translate }}\n </button>\n </div>\n\n <div *ngIf=\"showLogoutDiv\" class=\"login center-block\">\n <p>{{ 'igo.auth.deconnection' | translate }}</p>\n <button\n *ngIf=\"options.homeRoute\"\n mat-raised-button\n type=\"button\"\n (click)=\"home()\"\n >\n {{ 'igo.auth.home' | translate }}\n </button>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\nimport { AuthFacebookComponent } from '@igo2/auth/facebook';\nimport { AuthGoogleComponent } from '@igo2/auth/google';\nimport { AuthInternComponent } from '@igo2/auth/internal';\nimport {\n AuthMicrosoftComponent,\n AuthMicrosoftb2cComponent\n} from '@igo2/auth/microsoft';\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport { MsalModule } from '@azure/msal-angular';\n\nimport { AuthFormComponent } from './auth-form/auth-form.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatInputModule,\n MatIconModule,\n MatProgressSpinnerModule,\n MatButtonModule,\n IgoLanguageModule,\n MsalModule,\n AuthFormComponent,\n AuthGoogleComponent,\n AuthInternComponent,\n AuthFacebookComponent,\n AuthMicrosoftComponent,\n AuthMicrosoftb2cComponent\n ],\n exports: [AuthFormComponent]\n})\nexport class IgoAuthFormModule {}\n","/*\n * Public API Surface of auth\n */\n\nexport * from './shared/auth-form.interface';\nexport * from './auth-form.module';\n\nexport * from './auth-form/auth-form.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -88,11 +88,11 @@ class AuthMicrosoftComponent {
88
88
  return this.msalGuardConfig.filter((conf) => conf.type === 'add')[0];
89
89
  }
90
90
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AuthMicrosoftComponent, deps: [{ token: i1.AuthService }, { token: i2.ConfigService }, { token: i0.ApplicationRef }, { token: i3.MsalService }, { token: MSAL_GUARD_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
91
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: AuthMicrosoftComponent, isStandalone: true, selector: "igo-auth-microsoft", outputs: { login: "login" }, ngImport: i0, template: "<button\n class=\"microsoft-login-button\"\n mat-raised-button\n (click)=\"loginMicrosoft()\"\n>\n <igo-icon [icon]=\"svgIcon\"></igo-icon>\n {{ 'igo.auth.microsoft.login' | translate }}\n</button>\n", styles: [":host{padding:10px 10px 10px 0;display:inline-block;position:relative;top:-15px}:host>button{font-size:15px;height:40px;width:265px}mat-icon{margin-right:10px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "component", type: IgoIconComponent, selector: "igo-icon", inputs: ["color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
91
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: AuthMicrosoftComponent, isStandalone: true, selector: "igo-auth-microsoft", outputs: { login: "login" }, ngImport: i0, template: "<button\n class=\"microsoft-login-button\"\n mat-raised-button\n (click)=\"loginMicrosoft()\"\n>\n <igo-icon [icon]=\"svgIcon\"></igo-icon>\n {{ 'igo.auth.microsoft.login' | translate }}\n</button>\n", styles: [":host{padding:10px 10px 10px 0;display:inline-block;position:relative;top:-15px}:host>button{height:40px;width:265px}mat-icon{margin-right:10px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "component", type: IgoIconComponent, selector: "igo-icon", inputs: ["color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
92
92
  }
93
93
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AuthMicrosoftComponent, decorators: [{
94
94
  type: Component,
95
- args: [{ selector: 'igo-auth-microsoft', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatButtonModule, IgoLanguageModule, IgoIconComponent], template: "<button\n class=\"microsoft-login-button\"\n mat-raised-button\n (click)=\"loginMicrosoft()\"\n>\n <igo-icon [icon]=\"svgIcon\"></igo-icon>\n {{ 'igo.auth.microsoft.login' | translate }}\n</button>\n", styles: [":host{padding:10px 10px 10px 0;display:inline-block;position:relative;top:-15px}:host>button{font-size:15px;height:40px;width:265px}mat-icon{margin-right:10px}\n"] }]
95
+ args: [{ selector: 'igo-auth-microsoft', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatButtonModule, IgoLanguageModule, IgoIconComponent], template: "<button\n class=\"microsoft-login-button\"\n mat-raised-button\n (click)=\"loginMicrosoft()\"\n>\n <igo-icon [icon]=\"svgIcon\"></igo-icon>\n {{ 'igo.auth.microsoft.login' | translate }}\n</button>\n", styles: [":host{padding:10px 10px 10px 0;display:inline-block;position:relative;top:-15px}:host>button{height:40px;width:265px}mat-icon{margin-right:10px}\n"] }]
96
96
  }], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.ConfigService }, { type: i0.ApplicationRef }, { type: i3.MsalService }, { type: undefined, decorators: [{
97
97
  type: Inject,
98
98
  args: [MSAL_GUARD_CONFIG]
@@ -286,11 +286,11 @@ class AuthMicrosoftb2cComponent {
286
286
  return this.msalGuardConfig.filter((conf) => conf.type === 'b2c')[0];
287
287
  }
288
288
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AuthMicrosoftb2cComponent, deps: [{ token: i1.AuthService }, { token: i2.ConfigService }, { token: i0.ApplicationRef }, { token: MsalServiceb2c }, { token: MSAL_GUARD_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
289
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: AuthMicrosoftb2cComponent, isStandalone: true, selector: "igo-auth-microsoftb2c", outputs: { login: "login" }, providers: [MsalServiceb2c], ngImport: i0, template: "<button\n class=\"microsoft-login-button\"\n mat-raised-button\n (click)=\"loginMicrosoftb2c()\"\n>\n <igo-icon [icon]=\"svgIcon\"></igo-icon>\n {{ 'igo.auth.microsoftb2c.login' | translate }}\n</button>\n", styles: [":host{padding:10px 10px 10px 0;display:inline-block;position:relative;top:-15px}:host>button{font-size:15px;height:40px;width:265px}mat-icon{margin-right:10px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "component", type: IgoIconComponent, selector: "igo-icon", inputs: ["color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
289
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: AuthMicrosoftb2cComponent, isStandalone: true, selector: "igo-auth-microsoftb2c", outputs: { login: "login" }, providers: [MsalServiceb2c], ngImport: i0, template: "<button\n class=\"microsoft-login-button\"\n mat-raised-button\n (click)=\"loginMicrosoftb2c()\"\n>\n <igo-icon [icon]=\"svgIcon\"></igo-icon>\n {{ 'igo.auth.microsoftb2c.login' | translate }}\n</button>\n", styles: [":host{padding:10px 10px 10px 0;display:inline-block;position:relative;top:-15px}:host>button{height:40px;width:265px}mat-icon{margin-right:10px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "component", type: IgoIconComponent, selector: "igo-icon", inputs: ["color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
290
290
  }
291
291
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AuthMicrosoftb2cComponent, decorators: [{
292
292
  type: Component,
293
- args: [{ selector: 'igo-auth-microsoftb2c', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatButtonModule, IgoLanguageModule, IgoIconComponent], providers: [MsalServiceb2c], template: "<button\n class=\"microsoft-login-button\"\n mat-raised-button\n (click)=\"loginMicrosoftb2c()\"\n>\n <igo-icon [icon]=\"svgIcon\"></igo-icon>\n {{ 'igo.auth.microsoftb2c.login' | translate }}\n</button>\n", styles: [":host{padding:10px 10px 10px 0;display:inline-block;position:relative;top:-15px}:host>button{font-size:15px;height:40px;width:265px}mat-icon{margin-right:10px}\n"] }]
293
+ args: [{ selector: 'igo-auth-microsoftb2c', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatButtonModule, IgoLanguageModule, IgoIconComponent], providers: [MsalServiceb2c], template: "<button\n class=\"microsoft-login-button\"\n mat-raised-button\n (click)=\"loginMicrosoftb2c()\"\n>\n <igo-icon [icon]=\"svgIcon\"></igo-icon>\n {{ 'igo.auth.microsoftb2c.login' | translate }}\n</button>\n", styles: [":host{padding:10px 10px 10px 0;display:inline-block;position:relative;top:-15px}:host>button{height:40px;width:265px}mat-icon{margin-right:10px}\n"] }]
294
294
  }], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.ConfigService }, { type: i0.ApplicationRef }, { type: MsalServiceb2c }, { type: undefined, decorators: [{
295
295
  type: Inject,
296
296
  args: [MSAL_GUARD_CONFIG]
@@ -1 +1 @@
1
- {"version":3,"file":"igo2-auth-microsoft.mjs","sources":["../../../packages/auth/microsoft/src/auth-microsoft/auth-microsoft.component.ts","../../../packages/auth/microsoft/src/auth-microsoft/auth-microsoft.component.html","../../../packages/auth/microsoft/src/auth-microsoftb2c/auth-msalServiceb2c.service.ts","../../../packages/auth/microsoft/src/auth-microsoftb2c/auth-msalBroadcastServiceb2c.service.ts","../../../packages/auth/microsoft/src/auth-microsoftb2c/auth-microsoftb2c.component.ts","../../../packages/auth/microsoft/src/auth-microsoftb2c/auth-microsoftb2c.component.html","../../../packages/auth/microsoft/src/auth-microsoft.provider.ts","../../../packages/auth/microsoft/src/igo2-auth-microsoft.ts"],"sourcesContent":["import {\n ApplicationRef,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Inject,\n Output\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { AuthService } from '@igo2/auth';\nimport { IconSvg, IgoIconComponent, MICROSOFT_ICON } from '@igo2/common/icon';\nimport { ConfigService } from '@igo2/core/config';\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport {\n MSAL_GUARD_CONFIG,\n MsalBroadcastService,\n MsalService\n} from '@azure/msal-angular';\nimport {\n AuthenticationResult,\n InteractionRequiredAuthError,\n InteractionStatus,\n PopupRequest,\n PublicClientApplication,\n SilentRequest\n} from '@azure/msal-browser';\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nimport {\n AuthMicrosoftOptions,\n MSPMsalGuardConfiguration\n} from '../shared/auth-microsoft.interface';\n\n@Component({\n selector: 'igo-auth-microsoft',\n templateUrl: './auth-microsoft.component.html',\n styleUrls: ['./auth-microsoft.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatButtonModule, IgoLanguageModule, IgoIconComponent]\n})\nexport class AuthMicrosoftComponent {\n private options?: AuthMicrosoftOptions;\n private readonly _destroying$ = new Subject<void>();\n @Output() login: EventEmitter<boolean> = new EventEmitter<boolean>();\n private broadcastService: MsalBroadcastService;\n\n svgIcon: IconSvg = MICROSOFT_ICON;\n\n constructor(\n private authService: AuthService,\n private config: ConfigService,\n private appRef: ApplicationRef,\n private msalService: MsalService,\n @Inject(MSAL_GUARD_CONFIG)\n private msalGuardConfig: MSPMsalGuardConfiguration[]\n ) {\n this.options = this.config.getConfig('auth.microsoft');\n\n this.msalService.instance = new PublicClientApplication({\n auth: this.options,\n cache: {\n cacheLocation: 'sessionStorage'\n }\n });\n\n this.broadcastService = new MsalBroadcastService(\n this.msalService.instance,\n this.msalService\n );\n\n if (this.options?.clientId) {\n this.broadcastService.inProgress$\n .pipe(\n filter(\n (status: InteractionStatus) => status === InteractionStatus.None\n ),\n takeUntil(this._destroying$)\n )\n .subscribe(() => {\n this.checkAccount();\n });\n } else {\n console.warn('Microsoft authentification needs \"clientId\" option');\n }\n }\n\n public loginMicrosoft() {\n this.msalService\n .loginPopup({ ...this.getConf().authRequest } as PopupRequest)\n .subscribe((response: AuthenticationResult) => {\n this.msalService.instance.setActiveAccount(response.account);\n this.checkAccount();\n });\n }\n\n private checkAccount() {\n this.msalService.instance\n .acquireTokenSilent(this.getConf().authRequest as SilentRequest)\n .then((response: AuthenticationResult) => {\n const tokenAccess = response.accessToken;\n const tokenId = response.idToken;\n this.authService\n .loginWithToken(tokenAccess, 'microsoft', { tokenId })\n .subscribe(() => {\n this.appRef.tick();\n this.login.emit(true);\n });\n })\n .catch(async (error) => {\n if (error instanceof InteractionRequiredAuthError) {\n // fallback to interaction when silent call fails\n return this.msalService.acquireTokenPopup(\n this.getConf().authRequest as SilentRequest\n );\n }\n console.log(error);\n })\n .catch(() => {\n console.log('Silent token fails');\n });\n }\n\n private getConf(): MSPMsalGuardConfiguration {\n return this.msalGuardConfig.filter((conf) => conf.type === 'add')[0];\n }\n}\n","<button\n class=\"microsoft-login-button\"\n mat-raised-button\n (click)=\"loginMicrosoft()\"\n>\n <igo-icon [icon]=\"svgIcon\"></igo-icon>\n {{ 'igo.auth.microsoft.login' | translate }}\n</button>\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nimport { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\n\nimport { MSAL_INSTANCE } from '@azure/msal-angular';\nimport { IMsalService } from '@azure/msal-angular';\nimport {\n AuthenticationResult,\n EndSessionPopupRequest,\n EndSessionRequest,\n IPublicClientApplication,\n Logger,\n PopupRequest,\n RedirectRequest,\n SilentRequest,\n SsoSilentRequest,\n WrapperSKU\n} from '@azure/msal-browser';\nimport { Observable, from } from 'rxjs';\n\n@Injectable()\nexport class MsalServiceb2c implements IMsalService {\n private redirectHash: string;\n private logger: Logger;\n private name = '@azure/msal-angular';\n private version = '2.0.0-beta.2';\n constructor(\n @Inject(MSAL_INSTANCE) public instance: IPublicClientApplication,\n private location: Location\n ) {\n const hash = this.location.path(true).split('#').pop();\n if (hash) {\n this.redirectHash = `#${hash}`;\n }\n this.instance.initializeWrapperLibrary(WrapperSKU.Angular, this.version);\n }\n\n initialize(): Observable<void> {\n return from(this.instance.initialize());\n }\n\n acquireTokenPopup(request: PopupRequest): Observable<AuthenticationResult> {\n return from(this.instance.acquireTokenPopup(request));\n }\n acquireTokenRedirect(request: RedirectRequest): Observable<void> {\n return from(this.instance.acquireTokenRedirect(request));\n }\n acquireTokenSilent(\n silentRequest: SilentRequest\n ): Observable<AuthenticationResult> {\n return from(this.instance.acquireTokenSilent(silentRequest));\n }\n handleRedirectObservable(hash?: string): Observable<AuthenticationResult> {\n return from(this.instance.handleRedirectPromise(hash || this.redirectHash));\n }\n loginPopup(request?: PopupRequest): Observable<AuthenticationResult> {\n return from(this.instance.loginPopup(request));\n }\n loginRedirect(request?: RedirectRequest): Observable<void> {\n return from(this.instance.loginRedirect(request));\n }\n logout(logoutRequest?: EndSessionRequest): Observable<void> {\n return from(this.instance.logout(logoutRequest));\n }\n logoutRedirect(logoutRequest?: EndSessionRequest): Observable<void> {\n return from(this.instance.logoutRedirect(logoutRequest));\n }\n logoutPopup(logoutRequest?: EndSessionPopupRequest): Observable<void> {\n return from(this.instance.logoutPopup(logoutRequest));\n }\n ssoSilent(request: SsoSilentRequest): Observable<AuthenticationResult> {\n return from(this.instance.ssoSilent(request));\n }\n /**\n * Gets logger for msal-angular.\n * If no logger set, returns logger instance created with same options as msal-browser\n */\n getLogger(): Logger {\n if (!this.logger) {\n this.logger = this.instance.getLogger().clone(this.name, this.version);\n }\n return this.logger;\n }\n // Create a logger instance for msal-angular with the same options as msal-browser\n setLogger(logger: Logger): void {\n this.logger = logger.clone(this.name, this.version);\n this.instance.setLogger(logger);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nimport { Inject, Injectable } from '@angular/core';\n\nimport { MSAL_INSTANCE } from '@azure/msal-angular';\nimport {\n EventMessage,\n EventMessageUtils,\n IPublicClientApplication,\n InteractionStatus\n} from '@azure/msal-browser';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\n\nimport { MsalServiceb2c } from './auth-msalServiceb2c.service';\n\n@Injectable()\nexport class MsalBroadcastServiceb2c {\n private _msalSubject: Subject<EventMessage>;\n public msalSubject$: Observable<EventMessage>;\n private _inProgress: BehaviorSubject<InteractionStatus>;\n public inProgress$: Observable<InteractionStatus>;\n\n constructor(\n @Inject(MSAL_INSTANCE) private msalInstance: IPublicClientApplication,\n private authService: MsalServiceb2c\n ) {\n this._msalSubject = new Subject<EventMessage>();\n this.msalSubject$ = this._msalSubject.asObservable();\n\n // InProgress as BehaviorSubject so most recent inProgress state will be available upon subscription\n this._inProgress = new BehaviorSubject<InteractionStatus>(\n InteractionStatus.Startup\n );\n this.inProgress$ = this._inProgress.asObservable();\n\n this.msalInstance.addEventCallback((message: EventMessage) => {\n this._msalSubject.next(message);\n const status = EventMessageUtils.getInteractionStatusFromEvent(message);\n if (status !== null) {\n this.authService\n .getLogger()\n .verbose(\n `BroadcastService - ${message.eventType} results in setting inProgress to ${status}`\n );\n this._inProgress.next(status);\n }\n });\n }\n}\n","import {\n ApplicationRef,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Inject,\n Output\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { AuthService } from '@igo2/auth';\nimport { IconSvg, IgoIconComponent, MICROSOFT_ICON } from '@igo2/common/icon';\nimport { ConfigService } from '@igo2/core/config';\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport { MSAL_GUARD_CONFIG } from '@azure/msal-angular';\nimport {\n AuthenticationResult,\n InteractionRequiredAuthError,\n InteractionStatus,\n PopupRequest,\n PublicClientApplication,\n SilentRequest\n} from '@azure/msal-browser';\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nimport {\n AuthMicrosoftb2cOptions,\n MSPMsalGuardConfiguration\n} from '../shared/auth-microsoft.interface';\nimport { MsalBroadcastServiceb2c } from './auth-msalBroadcastServiceb2c.service';\nimport { MsalServiceb2c } from './auth-msalServiceb2c.service';\n\n@Component({\n selector: 'igo-auth-microsoftb2c',\n templateUrl: './auth-microsoftb2c.component.html',\n styleUrls: ['./auth-microsoftb2c.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatButtonModule, IgoLanguageModule, IgoIconComponent],\n providers: [MsalServiceb2c]\n})\nexport class AuthMicrosoftb2cComponent {\n private options: AuthMicrosoftb2cOptions;\n private readonly _destroying$ = new Subject<void>();\n @Output() login: EventEmitter<boolean> = new EventEmitter<boolean>();\n private broadcastService: MsalBroadcastServiceb2c;\n\n svgIcon: IconSvg = MICROSOFT_ICON;\n\n constructor(\n private authService: AuthService,\n private config: ConfigService,\n private appRef: ApplicationRef,\n private msalService: MsalServiceb2c,\n @Inject(MSAL_GUARD_CONFIG)\n private msalGuardConfig: MSPMsalGuardConfiguration[]\n ) {\n this.options = this.config.getConfig('auth.microsoftb2c') || {};\n\n this.msalService.instance = new PublicClientApplication({\n auth: this.options.browserAuthOptions,\n cache: {\n cacheLocation: 'sessionStorage'\n }\n });\n\n this.broadcastService = new MsalBroadcastServiceb2c(\n this.msalService.instance,\n this.msalService\n );\n\n if (this.options.browserAuthOptions.clientId) {\n this.broadcastService.inProgress$\n .pipe(\n filter(\n (status: InteractionStatus) => status === InteractionStatus.None\n ),\n takeUntil(this._destroying$)\n )\n .subscribe(() => {\n this.checkAccount();\n });\n } else {\n console.warn('Microsoft authentification needs \"clientId\" option');\n }\n }\n\n public loginMicrosoftb2c() {\n this.msalService\n .loginPopup({ ...this.getConf().authRequest } as PopupRequest)\n .subscribe((response: AuthenticationResult) => {\n this.msalService.instance.setActiveAccount(response.account);\n this.checkAccount();\n });\n }\n\n private checkAccount() {\n this.msalService.instance\n .acquireTokenSilent(this.getConf().authRequest as SilentRequest)\n .then((response: AuthenticationResult) => {\n const token = response.idToken;\n this.authService.loginWithToken(token, 'microsoftb2c').subscribe(() => {\n this.appRef.tick();\n this.login.emit(true);\n });\n })\n .catch(async (error) => {\n if (error instanceof InteractionRequiredAuthError) {\n // fallback to interaction when silent call fails\n return this.msalService.acquireTokenPopup(\n this.getConf().authRequest as SilentRequest\n );\n }\n })\n .catch(() => {\n console.log('Silent token fails');\n });\n }\n\n private getConf(): MSPMsalGuardConfiguration {\n return this.msalGuardConfig.filter((conf) => conf.type === 'b2c')[0];\n }\n}\n","<button\n class=\"microsoft-login-button\"\n mat-raised-button\n (click)=\"loginMicrosoftb2c()\"\n>\n <igo-icon [icon]=\"svgIcon\"></igo-icon>\n {{ 'igo.auth.microsoftb2c.login' | translate }}\n</button>\n","import { AuthFeature, AuthFeatureKind } from '@igo2/auth';\nimport { ConfigService } from '@igo2/core/config';\n\nimport {\n MSAL_GUARD_CONFIG,\n MSAL_INSTANCE,\n MsalService\n} from '@azure/msal-angular';\nimport { InteractionType, PublicClientApplication } from '@azure/msal-browser';\nimport { BrowserAuthOptions } from '@azure/msal-browser';\n\nimport { AuthMicrosoftComponent } from './auth-microsoft/auth-microsoft.component';\nimport { AuthMicrosoftb2cComponent } from './auth-microsoftb2c/auth-microsoftb2c.component';\nimport { MsalServiceb2c } from './auth-microsoftb2c/auth-msalServiceb2c.service';\nimport {\n AuthMicrosoftOptions,\n MSPMsalGuardConfiguration\n} from './shared/auth-microsoft.interface';\n\nexport const AUTH_MICROSOFT_DIRECTIVES = [\n AuthMicrosoftComponent,\n AuthMicrosoftb2cComponent\n] as const;\n\nexport function MSALConfigFactory(\n config: ConfigService\n): PublicClientApplication {\n const msConf = config.getConfig('auth.microsoft') as AuthMicrosoftOptions;\n if (!msConf) {\n return;\n }\n\n msConf.redirectUri = msConf?.redirectUri || window.location.href;\n msConf.authority =\n msConf?.authority || 'https://login.microsoftonline.com/organizations';\n\n const myMsalObj = new PublicClientApplication({\n auth: msConf,\n cache: {\n cacheLocation: 'sessionStorage'\n }\n });\n\n return myMsalObj;\n}\n\nexport function MSALConfigFactoryb2c(\n config: ConfigService\n): PublicClientApplication {\n const msConf = config.getConfig(\n 'auth.microsoftb2c.browserAuthOptions'\n ) as BrowserAuthOptions;\n if (!msConf) {\n return;\n }\n msConf.redirectUri = msConf?.redirectUri || window.location.href;\n msConf.authority =\n msConf?.authority || 'https://login.microsoftonline.com/organizations';\n\n const myMsalObj = new PublicClientApplication({\n auth: msConf,\n cache: {\n cacheLocation: 'sessionStorage'\n }\n });\n\n return myMsalObj;\n}\n\nexport function MSALAngularConfigFactory(): MSPMsalGuardConfiguration {\n return {\n interactionType: InteractionType.Popup,\n authRequest: {\n scopes: ['user.read'],\n loginHint: 'todo'\n },\n type: 'add'\n };\n}\n\nexport function MSALAngularConfigFactoryb2c(\n config: ConfigService\n): MSPMsalGuardConfiguration {\n const msConf = config.getConfig(\n 'auth.microsoftb2c.browserAuthOptions'\n ) as BrowserAuthOptions;\n\n return {\n interactionType: InteractionType.Popup,\n authRequest: {\n scopes: [msConf?.clientId]\n },\n type: 'b2c'\n };\n}\n\nexport function withMicrosoftSupport(\n type?: string\n): AuthFeature<AuthFeatureKind.Microsoft> {\n if (type === 'b2c') {\n return {\n kind: AuthFeatureKind.Microsoft,\n providers: [\n {\n provide: MSAL_INSTANCE,\n useFactory: MSALConfigFactoryb2c,\n deps: [ConfigService]\n },\n {\n provide: MSAL_GUARD_CONFIG,\n useFactory: MSALAngularConfigFactoryb2c,\n deps: [ConfigService],\n multi: true\n },\n MsalServiceb2c\n ]\n };\n } else {\n return {\n kind: AuthFeatureKind.Microsoft,\n providers: [\n {\n provide: MSAL_INSTANCE,\n useFactory: MSALConfigFactory,\n deps: [ConfigService]\n },\n {\n provide: MSAL_GUARD_CONFIG,\n useFactory: MSALAngularConfigFactory,\n deps: [ConfigService],\n multi: true\n },\n MsalService\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i1.MsalServiceb2c"],"mappings":";;;;;;;;;;;;;;;;;;MA2Ca,sBAAsB,CAAA;AASvB,IAAA,WAAA;AACA,IAAA,MAAA;AACA,IAAA,MAAA;AACA,IAAA,WAAA;AAEA,IAAA,eAAA;AAbF,IAAA,OAAO;AACE,IAAA,YAAY,GAAG,IAAI,OAAO,EAAQ;AACzC,IAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC5D,IAAA,gBAAgB;IAExB,OAAO,GAAY,cAAc;IAEjC,WACU,CAAA,WAAwB,EACxB,MAAqB,EACrB,MAAsB,EACtB,WAAwB,EAExB,eAA4C,EAAA;QAL5C,IAAW,CAAA,WAAA,GAAX,WAAW;QACX,IAAM,CAAA,MAAA,GAAN,MAAM;QACN,IAAM,CAAA,MAAA,GAAN,MAAM;QACN,IAAW,CAAA,WAAA,GAAX,WAAW;QAEX,IAAe,CAAA,eAAA,GAAf,eAAe;QAEvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC;AAEtD,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,uBAAuB,CAAC;YACtD,IAAI,EAAE,IAAI,CAAC,OAAO;AAClB,YAAA,KAAK,EAAE;AACL,gBAAA,aAAa,EAAE;AAChB;AACF,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,oBAAoB,CAC9C,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CACjB;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE;YAC1B,IAAI,CAAC,gBAAgB,CAAC;iBACnB,IAAI,CACH,MAAM,CACJ,CAAC,MAAyB,KAAK,MAAM,KAAK,iBAAiB,CAAC,IAAI,CACjE,EACD,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC;iBAE7B,SAAS,CAAC,MAAK;gBACd,IAAI,CAAC,YAAY,EAAE;AACrB,aAAC,CAAC;;aACC;AACL,YAAA,OAAO,CAAC,IAAI,CAAC,oDAAoD,CAAC;;;IAI/D,cAAc,GAAA;AACnB,QAAA,IAAI,CAAC;aACF,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,WAAW,EAAkB;AAC5D,aAAA,SAAS,CAAC,CAAC,QAA8B,KAAI;YAC5C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC5D,IAAI,CAAC,YAAY,EAAE;AACrB,SAAC,CAAC;;IAGE,YAAY,GAAA;QAClB,IAAI,CAAC,WAAW,CAAC;AACd,aAAA,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,WAA4B;AAC9D,aAAA,IAAI,CAAC,CAAC,QAA8B,KAAI;AACvC,YAAA,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW;AACxC,YAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO;AAChC,YAAA,IAAI,CAAC;iBACF,cAAc,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE;iBACpD,SAAS,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AAClB,gBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AACvB,aAAC,CAAC;AACN,SAAC;AACA,aAAA,KAAK,CAAC,OAAO,KAAK,KAAI;AACrB,YAAA,IAAI,KAAK,YAAY,4BAA4B,EAAE;;AAEjD,gBAAA,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAiB,CACvC,IAAI,CAAC,OAAO,EAAE,CAAC,WAA4B,CAC5C;;AAEH,YAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;AACpB,SAAC;aACA,KAAK,CAAC,MAAK;AACV,YAAA,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;AACnC,SAAC,CAAC;;IAGE,OAAO,GAAA;QACb,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;;AAnF3D,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,mIAavB,iBAAiB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAbhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,2GC3CnC,8MAQA,EAAA,MAAA,EAAA,CAAA,mKAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDiCY,eAAe,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAiB,4FAAE,gBAAgB,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAEnD,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;+BACE,oBAAoB,EAAA,eAAA,EAGb,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,EAAA,QAAA,EAAA,8MAAA,EAAA,MAAA,EAAA,CAAA,mKAAA,CAAA,EAAA;;0BAe5D,MAAM;2BAAC,iBAAiB;yCAVjB,KAAK,EAAA,CAAA;sBAAd;;;AE9CH;;;AAGG;MAqBU,cAAc,CAAA;AAMO,IAAA,QAAA;AACtB,IAAA,QAAA;AANF,IAAA,YAAY;AACZ,IAAA,MAAM;IACN,IAAI,GAAG,qBAAqB;IAC5B,OAAO,GAAG,cAAc;IAChC,WACgC,CAAA,QAAkC,EACxD,QAAkB,EAAA;QADI,IAAQ,CAAA,QAAA,GAAR,QAAQ;QAC9B,IAAQ,CAAA,QAAA,GAAR,QAAQ;AAEhB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;QACtD,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,YAAY,GAAG,CAAI,CAAA,EAAA,IAAI,EAAE;;AAEhC,QAAA,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;;IAG1E,UAAU,GAAA;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;;AAGzC,IAAA,iBAAiB,CAAC,OAAqB,EAAA;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;;AAEvD,IAAA,oBAAoB,CAAC,OAAwB,EAAA;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;;AAE1D,IAAA,kBAAkB,CAChB,aAA4B,EAAA;QAE5B,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;;AAE9D,IAAA,wBAAwB,CAAC,IAAa,EAAA;AACpC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;;AAE7E,IAAA,UAAU,CAAC,OAAsB,EAAA;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;;AAEhD,IAAA,aAAa,CAAC,OAAyB,EAAA;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;;AAEnD,IAAA,MAAM,CAAC,aAAiC,EAAA;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;;AAElD,IAAA,cAAc,CAAC,aAAiC,EAAA;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;;AAE1D,IAAA,WAAW,CAAC,aAAsC,EAAA;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;;AAEvD,IAAA,SAAS,CAAC,OAAyB,EAAA;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;;AAE/C;;;AAGG;IACH,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;;QAExE,OAAO,IAAI,CAAC,MAAM;;;AAGpB,IAAA,SAAS,CAAC,MAAc,EAAA;AACtB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;AACnD,QAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC;;AAjEtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,kBAMf,aAAa,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;4GANZ,cAAc,EAAA,CAAA;;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B;;0BAOI,MAAM;2BAAC,aAAa;;;AC9BzB;;;AAGG;MAeU,uBAAuB,CAAA;AAOD,IAAA,YAAA;AACvB,IAAA,WAAA;AAPF,IAAA,YAAY;AACb,IAAA,YAAY;AACX,IAAA,WAAW;AACZ,IAAA,WAAW;IAElB,WACiC,CAAA,YAAsC,EAC7D,WAA2B,EAAA;QADJ,IAAY,CAAA,YAAA,GAAZ,YAAY;QACnC,IAAW,CAAA,WAAA,GAAX,WAAW;AAEnB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,OAAO,EAAgB;QAC/C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;;QAGpD,IAAI,CAAC,WAAW,GAAG,IAAI,eAAe,CACpC,iBAAiB,CAAC,OAAO,CAC1B;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;QAElD,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,OAAqB,KAAI;AAC3D,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;YAC/B,MAAM,MAAM,GAAG,iBAAiB,CAAC,6BAA6B,CAAC,OAAO,CAAC;AACvE,YAAA,IAAI,MAAM,KAAK,IAAI,EAAE;AACnB,gBAAA,IAAI,CAAC;AACF,qBAAA,SAAS;qBACT,OAAO,CACN,sBAAsB,OAAO,CAAC,SAAS,CAAqC,kCAAA,EAAA,MAAM,CAAE,CAAA,CACrF;AACH,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;;AAEjC,SAAC,CAAC;;AA9BO,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,kBAOxB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAAC,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;4GAPZ,uBAAuB,EAAA,CAAA;;4FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBADnC;;0BAQI,MAAM;2BAAC,aAAa;;;MCiBZ,yBAAyB,CAAA;AAS1B,IAAA,WAAA;AACA,IAAA,MAAA;AACA,IAAA,MAAA;AACA,IAAA,WAAA;AAEA,IAAA,eAAA;AAbF,IAAA,OAAO;AACE,IAAA,YAAY,GAAG,IAAI,OAAO,EAAQ;AACzC,IAAA,KAAK,GAA0B,IAAI,YAAY,EAAW;AAC5D,IAAA,gBAAgB;IAExB,OAAO,GAAY,cAAc;IAEjC,WACU,CAAA,WAAwB,EACxB,MAAqB,EACrB,MAAsB,EACtB,WAA2B,EAE3B,eAA4C,EAAA;QAL5C,IAAW,CAAA,WAAA,GAAX,WAAW;QACX,IAAM,CAAA,MAAA,GAAN,MAAM;QACN,IAAM,CAAA,MAAA,GAAN,MAAM;QACN,IAAW,CAAA,WAAA,GAAX,WAAW;QAEX,IAAe,CAAA,eAAA,GAAf,eAAe;AAEvB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE;AAE/D,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,uBAAuB,CAAC;AACtD,YAAA,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB;AACrC,YAAA,KAAK,EAAE;AACL,gBAAA,aAAa,EAAE;AAChB;AACF,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,uBAAuB,CACjD,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CACjB;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,EAAE;YAC5C,IAAI,CAAC,gBAAgB,CAAC;iBACnB,IAAI,CACH,MAAM,CACJ,CAAC,MAAyB,KAAK,MAAM,KAAK,iBAAiB,CAAC,IAAI,CACjE,EACD,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC;iBAE7B,SAAS,CAAC,MAAK;gBACd,IAAI,CAAC,YAAY,EAAE;AACrB,aAAC,CAAC;;aACC;AACL,YAAA,OAAO,CAAC,IAAI,CAAC,oDAAoD,CAAC;;;IAI/D,iBAAiB,GAAA;AACtB,QAAA,IAAI,CAAC;aACF,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,WAAW,EAAkB;AAC5D,aAAA,SAAS,CAAC,CAAC,QAA8B,KAAI;YAC5C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC5D,IAAI,CAAC,YAAY,EAAE;AACrB,SAAC,CAAC;;IAGE,YAAY,GAAA;QAClB,IAAI,CAAC,WAAW,CAAC;AACd,aAAA,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,WAA4B;AAC9D,aAAA,IAAI,CAAC,CAAC,QAA8B,KAAI;AACvC,YAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO;AAC9B,YAAA,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,SAAS,CAAC,MAAK;AACpE,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AAClB,gBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AACvB,aAAC,CAAC;AACJ,SAAC;AACA,aAAA,KAAK,CAAC,OAAO,KAAK,KAAI;AACrB,YAAA,IAAI,KAAK,YAAY,4BAA4B,EAAE;;AAEjD,gBAAA,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAiB,CACvC,IAAI,CAAC,OAAO,EAAE,CAAC,WAA4B,CAC5C;;AAEL,SAAC;aACA,KAAK,CAAC,MAAK;AACV,YAAA,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;AACnC,SAAC,CAAC;;IAGE,OAAO,GAAA;QACb,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;;AA/E3D,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,mIAa1B,iBAAiB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAbhB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAFzB,CAAC,cAAc,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxC7B,oNAQA,EAAA,MAAA,EAAA,CAAA,mKAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED+BY,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAGnD,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBARrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,EAGhB,eAAA,EAAA,uBAAuB,CAAC,MAAM,WACtC,CAAC,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,EACpD,SAAA,EAAA,CAAC,cAAc,CAAC,EAAA,QAAA,EAAA,oNAAA,EAAA,MAAA,EAAA,CAAA,mKAAA,CAAA,EAAA;;0BAexB,MAAM;2BAAC,iBAAiB;yCAVjB,KAAK,EAAA,CAAA;sBAAd;;;AE1BU,MAAA,yBAAyB,GAAG;IACvC,sBAAsB;IACtB;;AAGI,SAAU,iBAAiB,CAC/B,MAAqB,EAAA;IAErB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAyB;IACzE,IAAI,CAAC,MAAM,EAAE;QACX;;AAGF,IAAA,MAAM,CAAC,WAAW,GAAG,MAAM,EAAE,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI;AAChE,IAAA,MAAM,CAAC,SAAS;AACd,QAAA,MAAM,EAAE,SAAS,IAAI,iDAAiD;AAExE,IAAA,MAAM,SAAS,GAAG,IAAI,uBAAuB,CAAC;AAC5C,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,KAAK,EAAE;AACL,YAAA,aAAa,EAAE;AAChB;AACF,KAAA,CAAC;AAEF,IAAA,OAAO,SAAS;AAClB;AAEM,SAAU,oBAAoB,CAClC,MAAqB,EAAA;IAErB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAC7B,sCAAsC,CACjB;IACvB,IAAI,CAAC,MAAM,EAAE;QACX;;AAEF,IAAA,MAAM,CAAC,WAAW,GAAG,MAAM,EAAE,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI;AAChE,IAAA,MAAM,CAAC,SAAS;AACd,QAAA,MAAM,EAAE,SAAS,IAAI,iDAAiD;AAExE,IAAA,MAAM,SAAS,GAAG,IAAI,uBAAuB,CAAC;AAC5C,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,KAAK,EAAE;AACL,YAAA,aAAa,EAAE;AAChB;AACF,KAAA,CAAC;AAEF,IAAA,OAAO,SAAS;AAClB;SAEgB,wBAAwB,GAAA;IACtC,OAAO;QACL,eAAe,EAAE,eAAe,CAAC,KAAK;AACtC,QAAA,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,WAAW,CAAC;AACrB,YAAA,SAAS,EAAE;AACZ,SAAA;AACD,QAAA,IAAI,EAAE;KACP;AACH;AAEM,SAAU,2BAA2B,CACzC,MAAqB,EAAA;IAErB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAC7B,sCAAsC,CACjB;IAEvB,OAAO;QACL,eAAe,EAAE,eAAe,CAAC,KAAK;AACtC,QAAA,WAAW,EAAE;AACX,YAAA,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ;AAC1B,SAAA;AACD,QAAA,IAAI,EAAE;KACP;AACH;AAEM,SAAU,oBAAoB,CAClC,IAAa,EAAA;AAEb,IAAA,IAAI,IAAI,KAAK,KAAK,EAAE;QAClB,OAAO;YACL,IAAI,EAAE,eAAe,CAAC,SAAS;AAC/B,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,aAAa;AACtB,oBAAA,UAAU,EAAE,oBAAoB;oBAChC,IAAI,EAAE,CAAC,aAAa;AACrB,iBAAA;AACD,gBAAA;AACE,oBAAA,OAAO,EAAE,iBAAiB;AAC1B,oBAAA,UAAU,EAAE,2BAA2B;oBACvC,IAAI,EAAE,CAAC,aAAa,CAAC;AACrB,oBAAA,KAAK,EAAE;AACR,iBAAA;gBACD;AACD;SACF;;SACI;QACL,OAAO;YACL,IAAI,EAAE,eAAe,CAAC,SAAS;AAC/B,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,aAAa;AACtB,oBAAA,UAAU,EAAE,iBAAiB;oBAC7B,IAAI,EAAE,CAAC,aAAa;AACrB,iBAAA;AACD,gBAAA;AACE,oBAAA,OAAO,EAAE,iBAAiB;AAC1B,oBAAA,UAAU,EAAE,wBAAwB;oBACpC,IAAI,EAAE,CAAC,aAAa,CAAC;AACrB,oBAAA,KAAK,EAAE;AACR,iBAAA;gBACD;AACD;SACF;;AAEL;;ACxIA;;AAEG;;;;"}
1
+ {"version":3,"file":"igo2-auth-microsoft.mjs","sources":["../../../packages/auth/microsoft/src/auth-microsoft/auth-microsoft.component.ts","../../../packages/auth/microsoft/src/auth-microsoft/auth-microsoft.component.html","../../../packages/auth/microsoft/src/auth-microsoftb2c/auth-msalServiceb2c.service.ts","../../../packages/auth/microsoft/src/auth-microsoftb2c/auth-msalBroadcastServiceb2c.service.ts","../../../packages/auth/microsoft/src/auth-microsoftb2c/auth-microsoftb2c.component.ts","../../../packages/auth/microsoft/src/auth-microsoftb2c/auth-microsoftb2c.component.html","../../../packages/auth/microsoft/src/auth-microsoft.provider.ts","../../../packages/auth/microsoft/src/igo2-auth-microsoft.ts"],"sourcesContent":["import {\n ApplicationRef,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Inject,\n Output\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { AuthService } from '@igo2/auth';\nimport { IconSvg, IgoIconComponent, MICROSOFT_ICON } from '@igo2/common/icon';\nimport { ConfigService } from '@igo2/core/config';\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport {\n MSAL_GUARD_CONFIG,\n MsalBroadcastService,\n MsalService\n} from '@azure/msal-angular';\nimport {\n AuthenticationResult,\n InteractionRequiredAuthError,\n InteractionStatus,\n PopupRequest,\n PublicClientApplication,\n SilentRequest\n} from '@azure/msal-browser';\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nimport {\n AuthMicrosoftOptions,\n MSPMsalGuardConfiguration\n} from '../shared/auth-microsoft.interface';\n\n@Component({\n selector: 'igo-auth-microsoft',\n templateUrl: './auth-microsoft.component.html',\n styleUrls: ['./auth-microsoft.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatButtonModule, IgoLanguageModule, IgoIconComponent]\n})\nexport class AuthMicrosoftComponent {\n private options?: AuthMicrosoftOptions;\n private readonly _destroying$ = new Subject<void>();\n @Output() login: EventEmitter<boolean> = new EventEmitter<boolean>();\n private broadcastService: MsalBroadcastService;\n\n svgIcon: IconSvg = MICROSOFT_ICON;\n\n constructor(\n private authService: AuthService,\n private config: ConfigService,\n private appRef: ApplicationRef,\n private msalService: MsalService,\n @Inject(MSAL_GUARD_CONFIG)\n private msalGuardConfig: MSPMsalGuardConfiguration[]\n ) {\n this.options = this.config.getConfig('auth.microsoft');\n\n this.msalService.instance = new PublicClientApplication({\n auth: this.options,\n cache: {\n cacheLocation: 'sessionStorage'\n }\n });\n\n this.broadcastService = new MsalBroadcastService(\n this.msalService.instance,\n this.msalService\n );\n\n if (this.options?.clientId) {\n this.broadcastService.inProgress$\n .pipe(\n filter(\n (status: InteractionStatus) => status === InteractionStatus.None\n ),\n takeUntil(this._destroying$)\n )\n .subscribe(() => {\n this.checkAccount();\n });\n } else {\n console.warn('Microsoft authentification needs \"clientId\" option');\n }\n }\n\n public loginMicrosoft() {\n this.msalService\n .loginPopup({ ...this.getConf().authRequest } as PopupRequest)\n .subscribe((response: AuthenticationResult) => {\n this.msalService.instance.setActiveAccount(response.account);\n this.checkAccount();\n });\n }\n\n private checkAccount() {\n this.msalService.instance\n .acquireTokenSilent(this.getConf().authRequest as SilentRequest)\n .then((response: AuthenticationResult) => {\n const tokenAccess = response.accessToken;\n const tokenId = response.idToken;\n this.authService\n .loginWithToken(tokenAccess, 'microsoft', { tokenId })\n .subscribe(() => {\n this.appRef.tick();\n this.login.emit(true);\n });\n })\n .catch(async (error) => {\n if (error instanceof InteractionRequiredAuthError) {\n // fallback to interaction when silent call fails\n return this.msalService.acquireTokenPopup(\n this.getConf().authRequest as SilentRequest\n );\n }\n console.log(error);\n })\n .catch(() => {\n console.log('Silent token fails');\n });\n }\n\n private getConf(): MSPMsalGuardConfiguration {\n return this.msalGuardConfig.filter((conf) => conf.type === 'add')[0];\n }\n}\n","<button\n class=\"microsoft-login-button\"\n mat-raised-button\n (click)=\"loginMicrosoft()\"\n>\n <igo-icon [icon]=\"svgIcon\"></igo-icon>\n {{ 'igo.auth.microsoft.login' | translate }}\n</button>\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nimport { Location } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\n\nimport { MSAL_INSTANCE } from '@azure/msal-angular';\nimport { IMsalService } from '@azure/msal-angular';\nimport {\n AuthenticationResult,\n EndSessionPopupRequest,\n EndSessionRequest,\n IPublicClientApplication,\n Logger,\n PopupRequest,\n RedirectRequest,\n SilentRequest,\n SsoSilentRequest,\n WrapperSKU\n} from '@azure/msal-browser';\nimport { Observable, from } from 'rxjs';\n\n@Injectable()\nexport class MsalServiceb2c implements IMsalService {\n private redirectHash: string;\n private logger: Logger;\n private name = '@azure/msal-angular';\n private version = '2.0.0-beta.2';\n constructor(\n @Inject(MSAL_INSTANCE) public instance: IPublicClientApplication,\n private location: Location\n ) {\n const hash = this.location.path(true).split('#').pop();\n if (hash) {\n this.redirectHash = `#${hash}`;\n }\n this.instance.initializeWrapperLibrary(WrapperSKU.Angular, this.version);\n }\n\n initialize(): Observable<void> {\n return from(this.instance.initialize());\n }\n\n acquireTokenPopup(request: PopupRequest): Observable<AuthenticationResult> {\n return from(this.instance.acquireTokenPopup(request));\n }\n acquireTokenRedirect(request: RedirectRequest): Observable<void> {\n return from(this.instance.acquireTokenRedirect(request));\n }\n acquireTokenSilent(\n silentRequest: SilentRequest\n ): Observable<AuthenticationResult> {\n return from(this.instance.acquireTokenSilent(silentRequest));\n }\n handleRedirectObservable(hash?: string): Observable<AuthenticationResult> {\n return from(this.instance.handleRedirectPromise(hash || this.redirectHash));\n }\n loginPopup(request?: PopupRequest): Observable<AuthenticationResult> {\n return from(this.instance.loginPopup(request));\n }\n loginRedirect(request?: RedirectRequest): Observable<void> {\n return from(this.instance.loginRedirect(request));\n }\n logout(logoutRequest?: EndSessionRequest): Observable<void> {\n return from(this.instance.logout(logoutRequest));\n }\n logoutRedirect(logoutRequest?: EndSessionRequest): Observable<void> {\n return from(this.instance.logoutRedirect(logoutRequest));\n }\n logoutPopup(logoutRequest?: EndSessionPopupRequest): Observable<void> {\n return from(this.instance.logoutPopup(logoutRequest));\n }\n ssoSilent(request: SsoSilentRequest): Observable<AuthenticationResult> {\n return from(this.instance.ssoSilent(request));\n }\n /**\n * Gets logger for msal-angular.\n * If no logger set, returns logger instance created with same options as msal-browser\n */\n getLogger(): Logger {\n if (!this.logger) {\n this.logger = this.instance.getLogger().clone(this.name, this.version);\n }\n return this.logger;\n }\n // Create a logger instance for msal-angular with the same options as msal-browser\n setLogger(logger: Logger): void {\n this.logger = logger.clone(this.name, this.version);\n this.instance.setLogger(logger);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nimport { Inject, Injectable } from '@angular/core';\n\nimport { MSAL_INSTANCE } from '@azure/msal-angular';\nimport {\n EventMessage,\n EventMessageUtils,\n IPublicClientApplication,\n InteractionStatus\n} from '@azure/msal-browser';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\n\nimport { MsalServiceb2c } from './auth-msalServiceb2c.service';\n\n@Injectable()\nexport class MsalBroadcastServiceb2c {\n private _msalSubject: Subject<EventMessage>;\n public msalSubject$: Observable<EventMessage>;\n private _inProgress: BehaviorSubject<InteractionStatus>;\n public inProgress$: Observable<InteractionStatus>;\n\n constructor(\n @Inject(MSAL_INSTANCE) private msalInstance: IPublicClientApplication,\n private authService: MsalServiceb2c\n ) {\n this._msalSubject = new Subject<EventMessage>();\n this.msalSubject$ = this._msalSubject.asObservable();\n\n // InProgress as BehaviorSubject so most recent inProgress state will be available upon subscription\n this._inProgress = new BehaviorSubject<InteractionStatus>(\n InteractionStatus.Startup\n );\n this.inProgress$ = this._inProgress.asObservable();\n\n this.msalInstance.addEventCallback((message: EventMessage) => {\n this._msalSubject.next(message);\n const status = EventMessageUtils.getInteractionStatusFromEvent(message);\n if (status !== null) {\n this.authService\n .getLogger()\n .verbose(\n `BroadcastService - ${message.eventType} results in setting inProgress to ${status}`\n );\n this._inProgress.next(status);\n }\n });\n }\n}\n","import {\n ApplicationRef,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Inject,\n Output\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { AuthService } from '@igo2/auth';\nimport { IconSvg, IgoIconComponent, MICROSOFT_ICON } from '@igo2/common/icon';\nimport { ConfigService } from '@igo2/core/config';\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport { MSAL_GUARD_CONFIG } from '@azure/msal-angular';\nimport {\n AuthenticationResult,\n InteractionRequiredAuthError,\n InteractionStatus,\n PopupRequest,\n PublicClientApplication,\n SilentRequest\n} from '@azure/msal-browser';\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nimport {\n AuthMicrosoftb2cOptions,\n MSPMsalGuardConfiguration\n} from '../shared/auth-microsoft.interface';\nimport { MsalBroadcastServiceb2c } from './auth-msalBroadcastServiceb2c.service';\nimport { MsalServiceb2c } from './auth-msalServiceb2c.service';\n\n@Component({\n selector: 'igo-auth-microsoftb2c',\n templateUrl: './auth-microsoftb2c.component.html',\n styleUrls: ['./auth-microsoftb2c.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatButtonModule, IgoLanguageModule, IgoIconComponent],\n providers: [MsalServiceb2c]\n})\nexport class AuthMicrosoftb2cComponent {\n private options: AuthMicrosoftb2cOptions;\n private readonly _destroying$ = new Subject<void>();\n @Output() login: EventEmitter<boolean> = new EventEmitter<boolean>();\n private broadcastService: MsalBroadcastServiceb2c;\n\n svgIcon: IconSvg = MICROSOFT_ICON;\n\n constructor(\n private authService: AuthService,\n private config: ConfigService,\n private appRef: ApplicationRef,\n private msalService: MsalServiceb2c,\n @Inject(MSAL_GUARD_CONFIG)\n private msalGuardConfig: MSPMsalGuardConfiguration[]\n ) {\n this.options = this.config.getConfig('auth.microsoftb2c') || {};\n\n this.msalService.instance = new PublicClientApplication({\n auth: this.options.browserAuthOptions,\n cache: {\n cacheLocation: 'sessionStorage'\n }\n });\n\n this.broadcastService = new MsalBroadcastServiceb2c(\n this.msalService.instance,\n this.msalService\n );\n\n if (this.options.browserAuthOptions.clientId) {\n this.broadcastService.inProgress$\n .pipe(\n filter(\n (status: InteractionStatus) => status === InteractionStatus.None\n ),\n takeUntil(this._destroying$)\n )\n .subscribe(() => {\n this.checkAccount();\n });\n } else {\n console.warn('Microsoft authentification needs \"clientId\" option');\n }\n }\n\n public loginMicrosoftb2c() {\n this.msalService\n .loginPopup({ ...this.getConf().authRequest } as PopupRequest)\n .subscribe((response: AuthenticationResult) => {\n this.msalService.instance.setActiveAccount(response.account);\n this.checkAccount();\n });\n }\n\n private checkAccount() {\n this.msalService.instance\n .acquireTokenSilent(this.getConf().authRequest as SilentRequest)\n .then((response: AuthenticationResult) => {\n const token = response.idToken;\n this.authService.loginWithToken(token, 'microsoftb2c').subscribe(() => {\n this.appRef.tick();\n this.login.emit(true);\n });\n })\n .catch(async (error) => {\n if (error instanceof InteractionRequiredAuthError) {\n // fallback to interaction when silent call fails\n return this.msalService.acquireTokenPopup(\n this.getConf().authRequest as SilentRequest\n );\n }\n })\n .catch(() => {\n console.log('Silent token fails');\n });\n }\n\n private getConf(): MSPMsalGuardConfiguration {\n return this.msalGuardConfig.filter((conf) => conf.type === 'b2c')[0];\n }\n}\n","<button\n class=\"microsoft-login-button\"\n mat-raised-button\n (click)=\"loginMicrosoftb2c()\"\n>\n <igo-icon [icon]=\"svgIcon\"></igo-icon>\n {{ 'igo.auth.microsoftb2c.login' | translate }}\n</button>\n","import { AuthFeature, AuthFeatureKind } from '@igo2/auth';\nimport { ConfigService } from '@igo2/core/config';\n\nimport {\n MSAL_GUARD_CONFIG,\n MSAL_INSTANCE,\n MsalService\n} from '@azure/msal-angular';\nimport { InteractionType, PublicClientApplication } from '@azure/msal-browser';\nimport { BrowserAuthOptions } from '@azure/msal-browser';\n\nimport { AuthMicrosoftComponent } from './auth-microsoft/auth-microsoft.component';\nimport { AuthMicrosoftb2cComponent } from './auth-microsoftb2c/auth-microsoftb2c.component';\nimport { MsalServiceb2c } from './auth-microsoftb2c/auth-msalServiceb2c.service';\nimport {\n AuthMicrosoftOptions,\n MSPMsalGuardConfiguration\n} from './shared/auth-microsoft.interface';\n\nexport const AUTH_MICROSOFT_DIRECTIVES = [\n AuthMicrosoftComponent,\n AuthMicrosoftb2cComponent\n] as const;\n\nexport function MSALConfigFactory(\n config: ConfigService\n): PublicClientApplication {\n const msConf = config.getConfig('auth.microsoft') as AuthMicrosoftOptions;\n if (!msConf) {\n return;\n }\n\n msConf.redirectUri = msConf?.redirectUri || window.location.href;\n msConf.authority =\n msConf?.authority || 'https://login.microsoftonline.com/organizations';\n\n const myMsalObj = new PublicClientApplication({\n auth: msConf,\n cache: {\n cacheLocation: 'sessionStorage'\n }\n });\n\n return myMsalObj;\n}\n\nexport function MSALConfigFactoryb2c(\n config: ConfigService\n): PublicClientApplication {\n const msConf = config.getConfig(\n 'auth.microsoftb2c.browserAuthOptions'\n ) as BrowserAuthOptions;\n if (!msConf) {\n return;\n }\n msConf.redirectUri = msConf?.redirectUri || window.location.href;\n msConf.authority =\n msConf?.authority || 'https://login.microsoftonline.com/organizations';\n\n const myMsalObj = new PublicClientApplication({\n auth: msConf,\n cache: {\n cacheLocation: 'sessionStorage'\n }\n });\n\n return myMsalObj;\n}\n\nexport function MSALAngularConfigFactory(): MSPMsalGuardConfiguration {\n return {\n interactionType: InteractionType.Popup,\n authRequest: {\n scopes: ['user.read'],\n loginHint: 'todo'\n },\n type: 'add'\n };\n}\n\nexport function MSALAngularConfigFactoryb2c(\n config: ConfigService\n): MSPMsalGuardConfiguration {\n const msConf = config.getConfig(\n 'auth.microsoftb2c.browserAuthOptions'\n ) as BrowserAuthOptions;\n\n return {\n interactionType: InteractionType.Popup,\n authRequest: {\n scopes: [msConf?.clientId]\n },\n type: 'b2c'\n };\n}\n\nexport function withMicrosoftSupport(\n type?: string\n): AuthFeature<AuthFeatureKind.Microsoft> {\n if (type === 'b2c') {\n return {\n kind: AuthFeatureKind.Microsoft,\n providers: [\n {\n provide: MSAL_INSTANCE,\n useFactory: MSALConfigFactoryb2c,\n deps: [ConfigService]\n },\n {\n provide: MSAL_GUARD_CONFIG,\n useFactory: MSALAngularConfigFactoryb2c,\n deps: [ConfigService],\n multi: true\n },\n MsalServiceb2c\n ]\n };\n } else {\n return {\n kind: AuthFeatureKind.Microsoft,\n providers: [\n {\n provide: MSAL_INSTANCE,\n useFactory: MSALConfigFactory,\n deps: [ConfigService]\n },\n {\n provide: MSAL_GUARD_CONFIG,\n useFactory: MSALAngularConfigFactory,\n deps: [ConfigService],\n multi: true\n },\n MsalService\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i1.MsalServiceb2c"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@igo2/auth",
3
- "version": "19.0.0-next.29",
3
+ "version": "19.0.0-next.30",
4
4
  "description": "IGO Library",
5
5
  "author": "IGO Community",
6
6
  "keywords": [
@@ -64,9 +64,9 @@
64
64
  "@angular/router": "^19.0.0",
65
65
  "@azure/msal-angular": "^3.0.4",
66
66
  "@azure/msal-browser": "^3.0.4",
67
- "@igo2/common": "^19.0.0-next.29",
68
- "@igo2/core": "^19.0.0-next.29",
69
- "@igo2/utils": "^19.0.0-next.29",
67
+ "@igo2/common": "^19.0.0-next.30",
68
+ "@igo2/core": "^19.0.0-next.30",
69
+ "@igo2/utils": "^19.0.0-next.30",
70
70
  "jwt-decode": "^4.0.0",
71
71
  "rxjs": "^7.8.0",
72
72
  "ts-cacheable": "^1.0.6",
@@ -1,20 +0,0 @@
1
- @use 'sass:color';
2
- @use 'sass:map';
3
- @use '@angular/material' as mat;
4
-
5
- @mixin theme($theme) {
6
- @include color($theme);
7
- }
8
-
9
- @mixin color($theme) {
10
- $background: map.get($theme, background);
11
-
12
- igo-auth-intern {
13
- .loading-container {
14
- background-color: color.change(
15
- $color: mat.m2-get-color-from-palette($background, status-bar),
16
- $alpha: 0.64
17
- );
18
- }
19
- }
20
- }
@@ -1,9 +0,0 @@
1
- @use './auth-form/auth-intern.theme.scss' as auth-intern;
2
-
3
- @mixin themes($theme) {
4
- @include auth-intern.theme($theme);
5
- }
6
-
7
- @mixin colors($theme) {
8
- @include auth-intern.color($theme);
9
- }
@@ -1,9 +0,0 @@
1
- @use '../form/src/auth-form.theme.scss' as auth-form;
2
-
3
- @mixin themes($theme) {
4
- @include auth-form.themes($theme);
5
- }
6
-
7
- @mixin colors($theme) {
8
- @include auth-form.colors($theme);
9
- }