UNPKG

dynamic-display-shared

Version:

A library for dynamic view

56 lines 8.6 kB
import { Inject, Injectable } from '@angular/core'; import { OAuthService, NullValidationHandler, OAuthErrorEvent } from 'angular-oauth2-oidc'; import { AuthConfigModel } from './auth.config.model'; import * as i0 from "@angular/core"; import * as i1 from "angular-oauth2-oidc"; import * as i2 from "./auth.config.model"; export const initializerFactory = (idInitializer) => idInitializer.init.bind(idInitializer); export class IdentityInitializer { constructor(oauthService, authConfig) { this.oauthService = oauthService; this.authConfig = authConfig; } init() { return this.configure(); } async configure() { this.oauthService.configure(this.authConfig.authConfig); // this.oauthService.tokenValidationHandler = new JwksValidationHandler(); this.oauthService.tokenValidationHandler = new NullValidationHandler(); // Load Discovery Document and then try to login the user // this.oauthService.loadDiscoveryDocumentAndTryLogin(); // await this.oauthService.loadDiscoveryDocument(this.authConfig.DiscoveryDocumentConfig.url); this.oauthService.events.subscribe(e => { if (e instanceof OAuthErrorEvent) { const parm = e.params; if (parm) { if (parm.error === 'access_denied' && parm.error_description.includes('AADB2C90118')) { // redirect to forgot password flow const redir = this.authConfig.passwordResetUrl; window.location.href = this.authConfig.passwordResetUrl; } else if (parm.error === 'access_denied' && parm.error_description.includes('AADB2C90091')) { // user has cancelled out of password reset this.oauthService.initLoginFlow(); } } } else if (e.type == 'token_expires') { const encodedUri = encodeURIComponent(document.URL); this.oauthService.initLoginFlow(encodedUri); } }); // this.oauthService.setupAutomaticSilentRefresh(); return this.oauthService.tryLoginImplicitFlow(); } } IdentityInitializer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: IdentityInitializer, deps: [{ token: i1.OAuthService }, { token: 'authConfig' }], target: i0.ɵɵFactoryTarget.Injectable }); IdentityInitializer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: IdentityInitializer }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: IdentityInitializer, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: i1.OAuthService }, { type: i2.AuthConfigModel, decorators: [{ type: Inject, args: ['authConfig'] }] }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHktaW5pdGlhbGl6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9keW5hbWljLWRpc3BsYXktc2hhcmVkL3NyYy9saWIvc2hhcmVkL2F1dGgvaWRlbnRpdHktaW5pdGlhbGl6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRixPQUFPLEVBQUUsZUFBZSxFQUF5QixNQUFNLHFCQUFxQixDQUFDOzs7O0FBRzdFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUVMLENBQUMsYUFBa0MsRUFBRSxFQUFFLENBQzdELGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBRzNDLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFDVSxZQUEwQixFQUNKLFVBQTJCO1FBRGpELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ0osZUFBVSxHQUFWLFVBQVUsQ0FBaUI7SUFDdkQsQ0FBQztJQUVFLElBQUk7UUFDVCxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ08sS0FBSyxDQUFDLFNBQVM7UUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4RCwwRUFBMEU7UUFDMUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLHFCQUFxQixFQUFFLENBQUM7UUFDdkUseURBQXlEO1FBQ3pELHlEQUF5RDtRQUV6RCxFQUFFO1FBQ0YsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFM0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxZQUFZLGVBQWUsRUFBRTtnQkFDaEMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQStCLENBQUM7Z0JBQy9DLElBQUksSUFBSSxFQUFFO29CQUNSLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxlQUFlLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRTt3QkFDcEYsbUNBQW1DO3dCQUNuQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDO3dCQUMvQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDO3FCQUN6RDt5QkFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssZUFBZSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQUU7d0JBQzNGLDJDQUEyQzt3QkFDM0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQztxQkFDbkM7aUJBQ0Y7YUFDRjtpQkFDSSxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksZUFBZSxFQUFFO2dCQUNsQyxNQUFNLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQzdDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxtREFBbUQ7UUFDbkQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDbEQsQ0FBQzs7Z0hBeENVLG1CQUFtQiw4Q0FHcEIsWUFBWTtvSEFIWCxtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVTs7MEJBSU4sTUFBTTsyQkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9BdXRoU2VydmljZSwgTnVsbFZhbGlkYXRpb25IYW5kbGVyLCBPQXV0aEVycm9yRXZlbnQgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcclxuaW1wb3J0IHsgQXV0aENvbmZpZ01vZGVsLCBPQXV0aEVycm9yRXZlbnRQYXJhbXMgfSBmcm9tICcuL2F1dGguY29uZmlnLm1vZGVsJztcclxuXHJcblxyXG5leHBvcnQgY29uc3QgaW5pdGlhbGl6ZXJGYWN0b3J5OiAoXHJcbiAgaWRJbml0aWFsaXplcjogSWRlbnRpdHlJbml0aWFsaXplclxyXG4pID0+ICgpID0+IFByb21pc2U8YW55PiA9IChpZEluaXRpYWxpemVyOiBJZGVudGl0eUluaXRpYWxpemVyKSA9PlxyXG4gICAgaWRJbml0aWFsaXplci5pbml0LmJpbmQoaWRJbml0aWFsaXplcik7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBJZGVudGl0eUluaXRpYWxpemVyIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgb2F1dGhTZXJ2aWNlOiBPQXV0aFNlcnZpY2UsXHJcbiAgICBASW5qZWN0KCdhdXRoQ29uZmlnJykgcHJpdmF0ZSBhdXRoQ29uZmlnOiBBdXRoQ29uZmlnTW9kZWxcclxuICApIHsgfVxyXG5cclxuICBwdWJsaWMgaW5pdCgpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJlKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgYXN5bmMgY29uZmlndXJlKCk6IFByb21pc2U8YW55PiB7XHJcbiAgICB0aGlzLm9hdXRoU2VydmljZS5jb25maWd1cmUodGhpcy5hdXRoQ29uZmlnLmF1dGhDb25maWcpO1xyXG4gICAgLy8gdGhpcy5vYXV0aFNlcnZpY2UudG9rZW5WYWxpZGF0aW9uSGFuZGxlciA9IG5ldyBKd2tzVmFsaWRhdGlvbkhhbmRsZXIoKTtcclxuICAgIHRoaXMub2F1dGhTZXJ2aWNlLnRva2VuVmFsaWRhdGlvbkhhbmRsZXIgPSBuZXcgTnVsbFZhbGlkYXRpb25IYW5kbGVyKCk7XHJcbiAgICAvLyBMb2FkIERpc2NvdmVyeSBEb2N1bWVudCBhbmQgdGhlbiB0cnkgdG8gbG9naW4gdGhlIHVzZXJcclxuICAgIC8vICB0aGlzLm9hdXRoU2VydmljZS5sb2FkRGlzY292ZXJ5RG9jdW1lbnRBbmRUcnlMb2dpbigpO1xyXG5cclxuICAgIC8vXHJcbiAgICBhd2FpdCB0aGlzLm9hdXRoU2VydmljZS5sb2FkRGlzY292ZXJ5RG9jdW1lbnQodGhpcy5hdXRoQ29uZmlnLkRpc2NvdmVyeURvY3VtZW50Q29uZmlnLnVybCk7XHJcblxyXG4gICAgdGhpcy5vYXV0aFNlcnZpY2UuZXZlbnRzLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBPQXV0aEVycm9yRXZlbnQpIHtcclxuICAgICAgICBjb25zdCBwYXJtID0gZS5wYXJhbXMgYXMgT0F1dGhFcnJvckV2ZW50UGFyYW1zO1xyXG4gICAgICAgIGlmIChwYXJtKSB7XHJcbiAgICAgICAgICBpZiAocGFybS5lcnJvciA9PT0gJ2FjY2Vzc19kZW5pZWQnICYmIHBhcm0uZXJyb3JfZGVzY3JpcHRpb24uaW5jbHVkZXMoJ0FBREIyQzkwMTE4JykpIHtcclxuICAgICAgICAgICAgLy8gcmVkaXJlY3QgdG8gZm9yZ290IHBhc3N3b3JkIGZsb3dcclxuICAgICAgICAgICAgY29uc3QgcmVkaXIgPSB0aGlzLmF1dGhDb25maWcucGFzc3dvcmRSZXNldFVybDtcclxuICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB0aGlzLmF1dGhDb25maWcucGFzc3dvcmRSZXNldFVybDtcclxuICAgICAgICAgIH0gZWxzZSBpZiAocGFybS5lcnJvciA9PT0gJ2FjY2Vzc19kZW5pZWQnICYmIHBhcm0uZXJyb3JfZGVzY3JpcHRpb24uaW5jbHVkZXMoJ0FBREIyQzkwMDkxJykpIHtcclxuICAgICAgICAgICAgLy8gdXNlciBoYXMgY2FuY2VsbGVkIG91dCBvZiBwYXNzd29yZCByZXNldFxyXG4gICAgICAgICAgICB0aGlzLm9hdXRoU2VydmljZS5pbml0TG9naW5GbG93KCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGUudHlwZSA9PSAndG9rZW5fZXhwaXJlcycpIHtcclxuICAgICAgICBjb25zdCBlbmNvZGVkVXJpID0gZW5jb2RlVVJJQ29tcG9uZW50KGRvY3VtZW50LlVSTCk7XHJcbiAgICAgICAgdGhpcy5vYXV0aFNlcnZpY2UuaW5pdExvZ2luRmxvdyhlbmNvZGVkVXJpKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICAvLyB0aGlzLm9hdXRoU2VydmljZS5zZXR1cEF1dG9tYXRpY1NpbGVudFJlZnJlc2goKTtcclxuICAgIHJldHVybiB0aGlzLm9hdXRoU2VydmljZS50cnlMb2dpbkltcGxpY2l0RmxvdygpO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbiJdfQ==