@kephas/ngx-oidc
Version:
Provides the integration of the OIDC API with Kephas and Angular 12+.
36 lines • 5.28 kB
JavaScript
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==