@kephas/ngx-oidc
Version:
Provides the integration of the OIDC API with Kephas and Angular 12+.
23 lines • 6.51 kB
JavaScript
import { Component } from '@angular/core';
import { map } from 'rxjs/operators';
import { AuthenticationService } from '../authentication.service';
import * as i0 from "@angular/core";
import * as i1 from "../authentication.service";
import * as i2 from "@angular/common";
import * as i3 from "@angular/router";
export class LoginMenuComponent {
constructor(authenticationService) {
this.authenticationService = authenticationService;
}
ngOnInit() {
this.isAuthenticated = this.authenticationService.isAuthenticated();
this.userName = this.authenticationService.getUser().pipe(map(u => u?.name));
}
}
LoginMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: LoginMenuComponent, deps: [{ token: i1.AuthenticationService }], target: i0.ɵɵFactoryTarget.Component });
LoginMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.0", type: LoginMenuComponent, selector: "app-login-menu", ngImport: i0, template: "<ul class=\"navbar-nav\" *ngIf=\"isAuthenticated | async\">\r\n <li class=\"nav-item\">\r\n <a class=\"nav-link\" [routerLink]='[\"/authentication/profile\"]' title=\"Manage\">Hello {{ userName | async }}</a>\r\n </li>\r\n <li class=\"nav-item\">\r\n <a class=\"nav-link\" [routerLink]='[\"/authentication/logout\"]' [state]='{ local: true }' title=\"Logout\">Logout</a>\r\n </li>\r\n</ul>\r\n<ul class=\"navbar-nav\" *ngIf=\"!(isAuthenticated | async)\">\r\n <li class=\"nav-item\">\r\n <a class=\"nav-link\" [routerLink]='[\"/authentication/register\"]'>Register</a>\r\n </li>\r\n <li class=\"nav-item\">\r\n <a class=\"nav-link\" [routerLink]='[\"/authentication/login\"]'>Login</a>\r\n </li>\r\n</ul>\r\n", styles: [""], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }], pipes: { "async": i2.AsyncPipe } });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: LoginMenuComponent, decorators: [{
type: Component,
args: [{ selector: 'app-login-menu', template: "<ul class=\"navbar-nav\" *ngIf=\"isAuthenticated | async\">\r\n <li class=\"nav-item\">\r\n <a class=\"nav-link\" [routerLink]='[\"/authentication/profile\"]' title=\"Manage\">Hello {{ userName | async }}</a>\r\n </li>\r\n <li class=\"nav-item\">\r\n <a class=\"nav-link\" [routerLink]='[\"/authentication/logout\"]' [state]='{ local: true }' title=\"Logout\">Logout</a>\r\n </li>\r\n</ul>\r\n<ul class=\"navbar-nav\" *ngIf=\"!(isAuthenticated | async)\">\r\n <li class=\"nav-item\">\r\n <a class=\"nav-link\" [routerLink]='[\"/authentication/register\"]'>Register</a>\r\n </li>\r\n <li class=\"nav-item\">\r\n <a class=\"nav-link\" [routerLink]='[\"/authentication/login\"]'>Login</a>\r\n </li>\r\n</ul>\r\n", styles: [""] }]
}], ctorParameters: function () { return [{ type: i1.AuthenticationService }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXBoYXMvbmd4LW9pZGMvc3JjL2xpYi9sb2dpbi1tZW51L2xvZ2luLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2VwaGFzL25neC1vaWRjL3NyYy9saWIvbG9naW4tbWVudS9sb2dpbi1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLEdBQUcsRUFBTyxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7OztBQU9sRSxNQUFNLE9BQU8sa0JBQWtCO0lBSTdCLFlBQW9CLHFCQUE0QztRQUE1QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO0lBQUksQ0FBQztJQUVyRSxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDcEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7OytHQVRVLGtCQUFrQjttR0FBbEIsa0JBQWtCLHNEQ1YvQiwwdkJBZ0JBOzJGRE5hLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWxvZ2luLW1lbnUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi1tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9sb2dpbi1tZW51LmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9naW5NZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgaXNBdXRoZW50aWNhdGVkPzogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICBwdWJsaWMgdXNlck5hbWU/OiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD47XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaXNBdXRoZW50aWNhdGVkID0gdGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuaXNBdXRoZW50aWNhdGVkKCk7XHJcbiAgICB0aGlzLnVzZXJOYW1lID0gdGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuZ2V0VXNlcigpLnBpcGUobWFwKHUgPT4gdT8ubmFtZSkpO1xyXG4gIH1cclxufVxyXG4iLCI8dWwgY2xhc3M9XCJuYXZiYXItbmF2XCIgKm5nSWY9XCJpc0F1dGhlbnRpY2F0ZWQgfCBhc3luY1wiPlxyXG4gICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIj5cclxuICAgICAgICA8YSAgY2xhc3M9XCJuYXYtbGlua1wiIFtyb3V0ZXJMaW5rXT0nW1wiL2F1dGhlbnRpY2F0aW9uL3Byb2ZpbGVcIl0nIHRpdGxlPVwiTWFuYWdlXCI+SGVsbG8ge3sgdXNlck5hbWUgfCBhc3luYyB9fTwvYT5cclxuICAgIDwvbGk+XHJcbiAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiPlxyXG4gICAgICAgIDxhICBjbGFzcz1cIm5hdi1saW5rXCIgW3JvdXRlckxpbmtdPSdbXCIvYXV0aGVudGljYXRpb24vbG9nb3V0XCJdJyBbc3RhdGVdPSd7IGxvY2FsOiB0cnVlIH0nIHRpdGxlPVwiTG9nb3V0XCI+TG9nb3V0PC9hPlxyXG4gICAgPC9saT5cclxuPC91bD5cclxuPHVsIGNsYXNzPVwibmF2YmFyLW5hdlwiICpuZ0lmPVwiIShpc0F1dGhlbnRpY2F0ZWQgfCBhc3luYylcIj5cclxuICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiPlxyXG4gICAgICAgIDxhIGNsYXNzPVwibmF2LWxpbmtcIiBbcm91dGVyTGlua109J1tcIi9hdXRoZW50aWNhdGlvbi9yZWdpc3RlclwiXSc+UmVnaXN0ZXI8L2E+XHJcbiAgICA8L2xpPlxyXG4gICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIj5cclxuICAgICAgICA8YSBjbGFzcz1cIm5hdi1saW5rXCIgW3JvdXRlckxpbmtdPSdbXCIvYXV0aGVudGljYXRpb24vbG9naW5cIl0nPkxvZ2luPC9hPlxyXG4gICAgPC9saT5cclxuPC91bD5cclxuIl19