UNPKG

@kephas/ngx-oidc

Version:

Provides the integration of the OIDC API with Kephas and Angular 12+.

36 lines 5.28 kB
import { Injectable } from '@angular/core'; import { Router } from '@angular/router'; import { tap } from 'rxjs/operators'; import { AuthenticationService } from './authentication.service'; import { AuthenticationSettingsProvider, QueryParameterNames } from './authentication.settings'; import * as i0 from "@angular/core"; import * as i1 from "./authentication.service"; import * as i2 from "@angular/router"; import * as i3 from "./authentication.settings"; export class AuthorizeGuard { constructor(authService, router, settingsProvider) { this.authService = authService; this.router = router; this.settingsProvider = settingsProvider; } canActivate(_next, state) { return this.authService.isAuthenticated() .pipe(tap(isAuthenticated => this.handleAuthorization(isAuthenticated, state))); } handleAuthorization(isAuthenticated, state) { if (!isAuthenticated) { const settings = this.settingsProvider.settings; this.router.navigate(settings.applicationPaths.LoginPathComponents, { queryParams: { [QueryParameterNames.ReturnUrl]: state.url } }); } } } AuthorizeGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: AuthorizeGuard, deps: [{ token: i1.AuthenticationService }, { token: i2.Router }, { token: i3.AuthenticationSettingsProvider }], target: i0.ɵɵFactoryTarget.Injectable }); AuthorizeGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: AuthorizeGuard }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: AuthorizeGuard, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: i1.AuthenticationService }, { type: i2.Router }, { type: i3.AuthenticationSettingsProvider }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXplLmd1YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2VwaGFzL25neC1vaWRjL3NyYy9saWIvYXV0aG9yaXplLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUE0RCxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVuRyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDakUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7O0FBR2hHLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQ1UsV0FBa0MsRUFDbEMsTUFBYyxFQUNkLGdCQUFnRDtRQUZoRCxnQkFBVyxHQUFYLFdBQVcsQ0FBdUI7UUFDbEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBZ0M7SUFDMUQsQ0FBQztJQUNELFdBQVcsQ0FDVCxLQUE2QixFQUM3QixLQUEwQjtRQUN4QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFO2FBQ3RDLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRU8sbUJBQW1CLENBQUMsZUFBd0IsRUFBRSxLQUEwQjtRQUM5RSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3BCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7WUFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixFQUFFO2dCQUNsRSxXQUFXLEVBQUU7b0JBQ1gsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRztpQkFDM0M7YUFDRixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7OzJHQXRCVSxjQUFjOytHQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2FuQWN0aXZhdGUsIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlclN0YXRlU25hcHNob3QsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNldHRpbmdzUHJvdmlkZXIsIFF1ZXJ5UGFyYW1ldGVyTmFtZXMgfSBmcm9tICcuL2F1dGhlbnRpY2F0aW9uLnNldHRpbmdzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEF1dGhvcml6ZUd1YXJkIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aGVudGljYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgc2V0dGluZ3NQcm92aWRlcjogQXV0aGVudGljYXRpb25TZXR0aW5nc1Byb3ZpZGVyKSB7XHJcbiAgfVxyXG4gIGNhbkFjdGl2YXRlKFxyXG4gICAgX25leHQ6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXHJcbiAgICBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCk6IE9ic2VydmFibGU8Ym9vbGVhbj4gfCBQcm9taXNlPGJvb2xlYW4+IHwgYm9vbGVhbiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmF1dGhTZXJ2aWNlLmlzQXV0aGVudGljYXRlZCgpXHJcbiAgICAgICAgLnBpcGUodGFwKGlzQXV0aGVudGljYXRlZCA9PiB0aGlzLmhhbmRsZUF1dGhvcml6YXRpb24oaXNBdXRoZW50aWNhdGVkLCBzdGF0ZSkpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlQXV0aG9yaXphdGlvbihpc0F1dGhlbnRpY2F0ZWQ6IGJvb2xlYW4sIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KSB7XHJcbiAgICBpZiAoIWlzQXV0aGVudGljYXRlZCkge1xyXG4gICAgICBjb25zdCBzZXR0aW5ncyA9IHRoaXMuc2V0dGluZ3NQcm92aWRlci5zZXR0aW5ncztcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoc2V0dGluZ3MuYXBwbGljYXRpb25QYXRocy5Mb2dpblBhdGhDb21wb25lbnRzLCB7XHJcbiAgICAgICAgcXVlcnlQYXJhbXM6IHtcclxuICAgICAgICAgIFtRdWVyeVBhcmFtZXRlck5hbWVzLlJldHVyblVybF06IHN0YXRlLnVybFxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==