@bcweed/authentication-lib 0.0.4 → 0.0.5

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.
@@ -56,14 +56,14 @@ class AuthService {
56
56
  this.router = router;
57
57
  this.platformId = platformId;
58
58
  if (isPlatformBrowser(this.platformId)) {
59
- //this.oauthService.configure(authConfig);
60
- //this.oauthService.tokenValidationHandler = new JwksValidationHandler(); // Auto-handles redirect back
61
- //this.oauthService.events
62
- // .subscribe(_ => {
63
- // this.isAuthenticatedSubject$.next(this.oauthService.hasValidAccessToken());
64
- // });
65
- //this.oauthService.events.subscribe(e => this.handleOAuthEvent(e));
66
- //this.oauthService.setupAutomaticSilentRefresh();
59
+ this.oauthService.configure(authConfig);
60
+ this.oauthService.tokenValidationHandler = new JwksValidationHandler(); // Auto-handles redirect back
61
+ this.oauthService.events
62
+ .subscribe(_ => {
63
+ this.isAuthenticatedSubject$.next(this.oauthService.hasValidAccessToken());
64
+ });
65
+ this.oauthService.events.subscribe(e => this.handleOAuthEvent(e));
66
+ this.oauthService.setupAutomaticSilentRefresh();
67
67
  }
68
68
  }
69
69
  profile$ = new BehaviorSubject(null);
@@ -1 +1 @@
1
- {"version":3,"file":"bcweed-authentication-lib.mjs","sources":["../../../projects/authentication-lib/src/lib/route-history.service.ts","../../../projects/authentication-lib/src/lib/authentication-lib.tokens.ts","../../../projects/authentication-lib/src/lib/auth.service.ts","../../../projects/authentication-lib/src/lib/authentication-lib.module.ts","../../../projects/authentication-lib/src/lib/auth-callback/auth-callback.component.ts","../../../projects/authentication-lib/src/lib/auth-callback/auth-callback.component.html","../../../projects/authentication-lib/src/lib/login/login.component.ts","../../../projects/authentication-lib/src/lib/login/login.component.html","../../../projects/authentication-lib/src/lib/authentication-error/authentication-error.component.ts","../../../projects/authentication-lib/src/lib/authentication-error/authentication-error.component.html","../../../projects/authentication-lib/src/lib/login-menu/login-menu.component.ts","../../../projects/authentication-lib/src/lib/login-menu/login-menu.component.html","../../../projects/authentication-lib/src/lib/logout/logout.component.ts","../../../projects/authentication-lib/src/lib/logout/logout.component.html","../../../projects/authentication-lib/src/lib/logout-callback/logout-callback.component.ts","../../../projects/authentication-lib/src/lib/logout-callback/logout-callback.component.html","../../../projects/authentication-lib/src/public-api.ts","../../../projects/authentication-lib/src/bcweed-authentication-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Router, NavigationEnd, ActivatedRoute } from '@angular/router';\nimport { filter} from 'rxjs/operators';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RouteHistoryService {\n\n private previousUrl: string | null = null;\n private currentUrl: string | null = null;\n\n constructor(private router: Router, private activatedRoute:ActivatedRoute) { }\n\n init() {\n this.currentUrl = this.router.url;\n\n this.router.events\n .pipe(filter(event => event instanceof NavigationEnd))\n .subscribe((event: NavigationEnd) => {\n this.previousUrl = this.currentUrl;\n this.currentUrl = event.urlAfterRedirects;\n });\n }\n\n getPreviousUrl(): string | null {\n return this.previousUrl;\n }\n\n}\n","import { InjectionToken } from '@angular/core';\r\nimport { AuthConfig } from 'angular-oauth2-oidc';\r\n\r\nexport const AUTHENTICATION_LIB_CONFIG = new InjectionToken<AuthConfig>('AUTHENTICATION_LIB_CONFIG');\r\n","import { Injectable, Inject, PLATFORM_ID } from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { OAuthService, OAuthErrorEvent, OAuthEvent, AuthConfig } from 'angular-oauth2-oidc';\r\nimport { JwksValidationHandler } from 'angular-oauth2-oidc-jwks';\r\nimport { Router } from '@angular/router';\r\nimport { BehaviorSubject, combineLatest, map, Observable, ReplaySubject, Subject } from 'rxjs';\r\nimport { AUTHENTICATION_LIB_CONFIG } from './authentication-lib.tokens';\r\n//import { authConfig } from './auth.config';\r\nexport interface UserProfile {\r\n sub: string;\r\n name?: string;\r\n email?: string;\r\n preferred_username?: string;\r\n given_name?: string;\r\n family_name?: string;\r\n fax?: string;\r\n address?: string;\r\n address2?: string;\r\n city?: string;\r\n region?: string;\r\n country?: string;\r\n phone_number?: string;\r\n postal_code?: string;\r\n [key: string]: any;\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthService {\r\n constructor(@Inject(AUTHENTICATION_LIB_CONFIG) private readonly authConfig: AuthConfig,\r\n private oauthService: OAuthService,\r\n private router: Router,\r\n @Inject(PLATFORM_ID) private platformId: object) {\r\n if (isPlatformBrowser(this.platformId)) {\r\n //this.oauthService.configure(authConfig);\r\n //this.oauthService.tokenValidationHandler = new JwksValidationHandler(); // Auto-handles redirect back\r\n\r\n //this.oauthService.events\r\n // .subscribe(_ => {\r\n // this.isAuthenticatedSubject$.next(this.oauthService.hasValidAccessToken());\r\n // });\r\n //this.oauthService.events.subscribe(e => this.handleOAuthEvent(e));\r\n\r\n //this.oauthService.setupAutomaticSilentRefresh();\r\n }\r\n \r\n }\r\n private readonly profile$ = new BehaviorSubject<UserProfile | null>(null);\r\n private profileLoading = false;\r\n private profileIsLoaded = false;\r\n private isAuthenticatedSubject$ = new BehaviorSubject<boolean>(false);\r\n public isAuthenticated$ = this.isAuthenticatedSubject$.asObservable();\r\n\r\n private isDoneLoadingSubject$ = new ReplaySubject<boolean>();\r\n public isDoneLoading$ = this.isDoneLoadingSubject$.asObservable();\r\n\r\n private eventsSubject$ = new Subject<OAuthEvent>;\r\n public events$ = this.eventsSubject$.asObservable();\r\n /**\r\n * Publishes `true` if and only if (a) all the asynchronous initial\r\n * login calls have completed or errored, and (b) the user ended up\r\n * being authenticated.\r\n *\r\n * In essence, it combines:\r\n *\r\n * - the latest known state of whether the user is authorized\r\n * - whether the ajax calls for initial log in have all been done\r\n */\r\n public isLoggedIn$: Observable<boolean> = combineLatest([\r\n this.isAuthenticated$,\r\n this.isDoneLoading$\r\n ]).pipe(map(values => values.every(b => b)));\r\n\r\n public loadConfiguration(authConfig: AuthConfig) {\r\n this.oauthService.configure(authConfig);\r\n this.oauthService.tokenValidationHandler = new JwksValidationHandler(); // Auto-handles redirect back\r\n\r\n this.oauthService.events\r\n .subscribe(_ => {\r\n this.isAuthenticatedSubject$.next(this.oauthService.hasValidAccessToken());\r\n });\r\n this.oauthService.events.subscribe(e => this.handleOAuthEvent(e));\r\n\r\n this.oauthService.setupAutomaticSilentRefresh();\r\n }\r\n\r\n public runInitialLoginSequence(): Promise<void> {\r\n return this.oauthService.loadDiscoveryDocument()\r\n .then(() => this.oauthService.tryLoginCodeFlow())\r\n .then(() => {\r\n this.isDoneLoadingSubject$.next(true);\r\n // remove query params\r\n //this.router.navigate(['']);\r\n })\r\n .catch(() => this.isDoneLoadingSubject$.next(true));\r\n }\r\n\r\n public login(returnUrl: string): void {\r\n // Triggers redirect to IdP with PKCE code challenge\r\n this.oauthService.initCodeFlow(returnUrl); // Authorization Code + PKCE\r\n }\r\n\r\n logout(): void {\r\n this.oauthService.logOut(); // Optionally also call revocation endpoint\r\n }\r\n revokeTokenAndLogout(): void {\r\n this.oauthService.revokeTokenAndLogout({\r\n idTokenHint: this.oauthService.getIdToken(),\r\n client_id: this.authConfig.clientId,\r\n returnTo: this.authConfig.postLogoutRedirectUri\r\n }, true); // Optionally also call revocation endpoint\r\n }\r\n\r\n public state(): string | undefined {\r\n return this.oauthService.state;\r\n }\r\n public hasRole(role: string) {\r\n let claims: any = this.oauthService.getIdentityClaims();\r\n if (claims && claims.role) {\r\n let roles: string[] = claims.role;\r\n roles = roles.map(role => role.toUpperCase());\r\n return roles.includes(role.toLocaleUpperCase());\r\n }\r\n return false;\r\n }\r\n public refresh() {\r\n this.oauthService.silentRefresh();\r\n }\r\n\r\n public hasValidToken() {\r\n return this.oauthService.hasValidAccessToken();\r\n }\r\n\r\n public getFullname() {\r\n let claims: any = this.oauthService.getIdentityClaims();\r\n if (claims && claims.name) {\r\n return claims.name;\r\n }\r\n return undefined;\r\n }\r\n get accessToken(): string {\r\n return this.oauthService.getAccessToken();\r\n } \r\n\r\n get identityClaims(): any {\r\n return this.oauthService.getIdentityClaims();\r\n }\r\n\r\n get isLoggedIn(): boolean {\r\n return !!this.accessToken;\r\n }\r\n\r\n get userProfile$() {\r\n return this.profile$.asObservable();\r\n }\r\n\r\n /** Synchronous getter */\r\n get snapshot(): UserProfile | null {\r\n return this.profile$.value;\r\n }\r\n\r\n /** Clears profile on logout */\r\n clearProfile() {\r\n this.profile$.next(null);\r\n this.profileIsLoaded = false;\r\n }\r\n\r\n /** Loads user profile from userinfo endpoint */\r\n async loadProfile(): Promise<void> {\r\n if (this.profileIsLoaded) return;\r\n if (this.profileLoading) return;\r\n if (!this.oauthService.hasValidAccessToken()) return;\r\n\r\n this.profileLoading = true;\r\n\r\n try {\r\n const profile: any = await this.oauthService.loadUserProfile();\r\n const info = profile?.info ?? null;\r\n this.profile$.next(info);\r\n this.profileIsLoaded = true;\r\n\r\n } catch (err) {\r\n console.warn('User profile load failed:', err);\r\n // swallow error — do not let Angular ErrorHandler see it\r\n } finally {\r\n this.profileLoading = false;\r\n }\r\n }\r\n\r\n /** Handles OAuth events */\r\n private handleOAuthEvent(e: OAuthEvent) {\r\n this.eventsSubject$.next(e);\r\n switch (e.type) {\r\n case 'token_received':\r\n this.loadProfile();\r\n break;\r\n\r\n case 'discovery_document_loaded':\r\n if (this.oauthService.hasValidAccessToken()) {\r\n this.loadProfile();\r\n }\r\n break;\r\n case 'user_profile_loaded':\r\n // Some IdPs trigger this event automatically\r\n // this.loadProfile();\r\n break;\r\n\r\n case 'logout':\r\n case 'session_terminated':\r\n case 'session_error':\r\n this.clearProfile();\r\n break;\r\n\r\n case 'silent_refresh_error':\r\n case 'silent_refresh_timeout':\r\n console.log(e);\r\n throw new Error(e.type);\r\n break;\r\n\r\n default:\r\n // Swallow OAuth errors before Angular sees them\r\n if (e instanceof OAuthErrorEvent) {\r\n console.warn('OAuth error intercepted:', e);\r\n }\r\n break;\r\n }\r\n }\r\n}\r\n","import { NgModule, ModuleWithProviders, APP_INITIALIZER } from '@angular/core';\r\nimport { AuthConfig } from 'angular-oauth2-oidc';\r\nimport { AUTHENTICATION_LIB_CONFIG } from './authentication-lib.tokens';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { RouteHistoryService } from './route-history.service';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n RouterModule\r\n ],\r\n exports: [],\r\n providers: [\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: (history: RouteHistoryService) => () => history.init(),\r\n deps: [RouteHistoryService],\r\n multi: true\r\n },\r\n\r\n ]\r\n})\r\nexport class AuthenticationLibModule {\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { OAuthEvent } from 'angular-oauth2-oidc';\r\nimport { ActivatedRoute, NavigationExtras, Router } from '@angular/router';\r\nimport { AuthService } from '../auth.service';\r\n@Component({\r\n selector: 'app-auth-callback',\r\n standalone: false,\r\n templateUrl: './auth-callback.component.html',\r\n styleUrl: './auth-callback.component.scss'\r\n})\r\nexport class AuthCallbackComponent implements OnInit {\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute, private authService: AuthService) { }\r\n\r\n ngOnInit(): void {\r\n if (this.activatedRoute.snapshot.queryParams['error']) {\r\n // this.authService.createAndSaveNonce();\r\n this.authService.events$.subscribe((event: OAuthEvent) => {\r\n if (event.type === 'code_error' && this.authService.state()) {\r\n // Read and decode the original return URL from the state property\r\n const redirectUrl = decodeURIComponent(this.authService.state()!);\r\n\r\n // Redirect the user to the intended page\r\n if (redirectUrl && redirectUrl !== '/') {\r\n this.reRouteToError(redirectUrl);\r\n }\r\n }\r\n });\r\n const state = this.authService.state();\r\n if (state && state !== undefined) {\r\n const redirectUrl = decodeURIComponent(state);\r\n if (redirectUrl && redirectUrl !== '/') {\r\n this.reRouteToError(redirectUrl);\r\n }\r\n else {\r\n this.reRouteToError('/');\r\n\r\n }\r\n }\r\n }\r\n else {\r\n this.authService.events$.subscribe((event: OAuthEvent) => {\r\n if (event.type === 'token_received' && this.authService.state()) {\r\n // Read and decode the original return URL from the state property\r\n const redirectUrl = decodeURIComponent(this.authService.state()!);\r\n\r\n // Redirect the user to the intended page\r\n if (redirectUrl && redirectUrl !== '/') {\r\n console.log('Redirecting to initially requested page:', redirectUrl);\r\n this.router.navigateByUrl(redirectUrl);\r\n }\r\n else {\r\n this.router.navigate(['/home']);\r\n }\r\n }\r\n });\r\n }\r\n \r\n }\r\n private reRouteToError(redirectUrl:string): void {\r\n const navigationExtras: NavigationExtras = {\r\n queryParams: {\r\n returnUrl: redirectUrl\r\n }\r\n };\r\n this.router.navigate(['/authentication-error'], navigationExtras);\r\n }\r\n}\r\n\r\n","\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { AuthService } from '../auth.service';\r\nimport { RouteHistoryService } from '../route-history.service';\r\nimport { Injectable, Inject, PLATFORM_ID } from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './login.component.html',\r\n styleUrl: './login.component.scss'\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n constructor(private activatedRoute: ActivatedRoute, private routeHistoryService: RouteHistoryService, private authService: AuthService,\r\n @Inject(PLATFORM_ID) private platformId: object) { }\r\n ngOnInit() {\r\n debugger;\r\n if (isPlatformBrowser(this.platformId)) {\r\n const rt = this.activatedRoute;\r\n const returnUrl = rt.snapshot.queryParams['returnUrl'] || this.routeHistoryService.getPreviousUrl() || '/';\r\n this.authService.login(returnUrl);\r\n }\r\n }\r\n \r\n}\r\n","<p>Redirecting!!!!</p>\r\n","import { CommonModule } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, RouterModule } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\n\n@Component({\n selector: 'app-authentication-error',\n imports: [CommonModule,RouterModule],\n standalone: true,\n templateUrl: './authentication-error.component.html',\n styleUrl: './authentication-error.component.scss'\n})\nexport class AuthenticationErrorComponent implements OnInit {\n constructor(private activatedRoute: ActivatedRoute) { }\n routeParams$: Observable<any> | undefined;\n returnUrl: string | undefined;\n ngOnInit(): void {\n\n this.routeParams$ = this.activatedRoute.queryParams.pipe(\n map(params => {\n if (params['returnUrl']) {\n\n return params['returnUrl'];\r\n }\n else {\n return '/';\r\n }\n })\n );\n }\n}\n","<p>authentication-error works!</p>\r\n\r\n<button [routerLink]=\"['/auth/login']\" [queryParams]=\"{ returnUrl: routeParams$ | async }\">Retry Login</button>\r\n<br />\r\n<button [routerLink]=\"['/home']\">Go Home</button>\r\n@if (routeParams$ | async) {\r\n}\r\n","import { Component } from '@angular/core';\nimport { from, Observable } from 'rxjs';\nimport { CommonModule } from '@angular/common';\nimport {RouterModule } from '@angular/router';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { MenuItem } from 'primeng/api';\nimport { AuthService, UserProfile } from '../auth.service';\n\n@Component({\n selector: 'app-login-menu',\n standalone: true,\n imports: [CommonModule, RouterModule], // Add them to the imports array\n templateUrl: './login-menu.component.html',\n styleUrl: './login-menu.component.scss'\n})\nexport class LoginMenuComponent {\n\n isExpanded = false;\n isSmallMedia = false;\n userRoles: string[] = [];\n items: MenuItem[] | undefined;\n public isAuthenticated?: boolean;\n profile$: Observable<UserProfile | null>;\n isAuthenticated$: Observable<boolean | null> | undefined;\n constructor(private responsive: BreakpointObserver, private authService: AuthService) {\n this.profile$ = this.authService.userProfile$;\n this.isAuthenticated$ = this.authService.isAuthenticated$;\n }\n ngOnInit() {\n this.responsive.observe([Breakpoints.Small, Breakpoints.XSmall])\n .subscribe(result => {\n\n\n if (result.matches) {\n this.isSmallMedia = true;\n\n }\n else {\n this.isSmallMedia = false;\n\n }\n });\n }\n collapse() {\n this.isExpanded = false;\n }\n\n toggle() {\n this.isExpanded = !this.isExpanded;\n }\n}\n","@if ((isAuthenticated$ | async) === true) {\r\n <ul role=\"menu\" [ngClass]=\"[isSmallMedia ? 'p-menubar-root-list-end-small' : 'p-menubar-root-list']\">\r\n <li role=\"menuitem\" ptooltip=\"\" class=\"p-element p-menubar-item\">\r\n <div class=\"p-menubar-item-content\">\r\n <a class=\"p-ripple p-element p-menubar-item-link\" [routerLink]='[\"/auth/logout\", ]' [state]='{ local: true }'>\r\n <span class=\"p-menubar-item-icon pi pi-sign-out\"></span>\r\n <span class=\"p-menubar-item-label\">Logout</span>\r\n </a>\r\n </div>\r\n </li>\r\n <li role=\"menuitem\" ptooltip=\"\" class=\"p-element p-menubar-item\">\r\n <div class=\"p-menubar-item-content\">\r\n <a class=\"p-ripple p-element p-menubar-item-link\" [routerLink]='[\"/authentication/profile\"]'>\r\n <span class=\"p-menubar-item-icon pi pi-user\"></span>\r\n <span class=\"p-menubar-item-label\">{{ (profile$ | async)?.given_name}} {{ (profile$ | async)?.family_name}}</span>\r\n </a>\r\n </div>\r\n </li>\r\n </ul>\r\n}\r\n@if ((isAuthenticated$ | async) !== true) {\r\n <ul role=\"menu\" [ngClass]=\"[isSmallMedia ? 'p-menubar-root-list-end-small' : 'p-menubar-root-list']\">\r\n <!--<li role=\"menuitem\" ptooltip=\"\" class=\"p-element p-menuitem\">\r\n <div class=\"p-menubar-item-content\">\r\n <a pripple=\"\" class=\"p-ripple p-element p-menubar-item-link\" [routerLink]='[\"/authentication/register\"]'>\r\n <span class=\"p-menubar-item-label\">Register</span>\r\n </a>\r\n </div>\r\n </li>-->\r\n <li role=\"menuitem\" ptooltip=\"\" class=\"p-element p-menubar-item\">\r\n <div class=\"p-menubar-item-content\">\r\n <a pripple=\"\" class=\"p-ripple p-element p-menubar-item-link\" [routerLink]='[\"/auth/login\"]'>\r\n <span class=\"p-menubar-item-icon pi pi-sign-in\"></span>\r\n <span class=\"p-menubar-item-label\">Login</span>\r\n </a>\r\n </div>\r\n </li>\r\n</ul>\r\n}\r\n","import { Component, OnInit, } from '@angular/core';\r\nimport { AuthService } from '../auth.service';\r\nimport { Injectable, Inject, PLATFORM_ID } from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-logout',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './logout.component.html',\r\n styleUrl: './logout.component.scss'\r\n})\r\nexport class LogoutComponent implements OnInit {\r\n\r\n constructor(private authService: AuthService,\r\n @Inject(PLATFORM_ID) private platformId: object) { }\r\n ngOnInit() {\r\n //this.authService.logout();\r\n if (isPlatformBrowser(this.platformId)) {\r\n this.authService.revokeTokenAndLogout();\r\n }\r\n \r\n // Clear local storage\r\n //localStorage.clear();\r\n //sessionStorage.clear();\r\n ////this.authService.revokeTokenAndLogout();\r\n }\r\n\r\n}\r\n","<p>Redirecting!!!!</p>\r\n","\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Injectable, Inject, PLATFORM_ID } from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-logout-callback',\r\n imports: [],\r\n standalone:true,\r\n templateUrl: './logout-callback.component.html',\r\n styleUrl: './logout-callback.component.scss'\r\n})\r\nexport class LogoutCallbackComponent implements OnInit {\r\n constructor(private router: Router,\r\n @Inject(PLATFORM_ID) private platformId: object) { }\r\n\r\n ngOnInit(): void {\r\n if (isPlatformBrowser(this.platformId)) {\r\n localStorage.clear();\r\n sessionStorage.clear();\r\n\r\n this.router.navigate(['/home']);\r\n }\r\n \r\n }\r\n}\r\n","","/*\r\n * Public API Surface of authentication-lib\r\n */\r\n\r\nexport * from './lib/route-history.service';\r\nexport * from './lib/auth.service';\r\nexport * from './lib/authentication-lib.tokens';\r\nexport * from './lib/authentication-lib.module';\r\nexport * from './lib/auth-callback/auth-callback.component';\r\nexport * from './lib/login/login.component';\r\nexport * from './lib/authentication-error/authentication-error.component';\r\nexport * from './lib/login-menu/login-menu.component';\r\nexport * from './lib/logout/logout.component';\r\nexport * from './lib/logout-callback/logout-callback.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i2.AuthService","map","i4"],"mappings":"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"}
1
+ {"version":3,"file":"bcweed-authentication-lib.mjs","sources":["../../../projects/authentication-lib/src/lib/route-history.service.ts","../../../projects/authentication-lib/src/lib/authentication-lib.tokens.ts","../../../projects/authentication-lib/src/lib/auth.service.ts","../../../projects/authentication-lib/src/lib/authentication-lib.module.ts","../../../projects/authentication-lib/src/lib/auth-callback/auth-callback.component.ts","../../../projects/authentication-lib/src/lib/auth-callback/auth-callback.component.html","../../../projects/authentication-lib/src/lib/login/login.component.ts","../../../projects/authentication-lib/src/lib/login/login.component.html","../../../projects/authentication-lib/src/lib/authentication-error/authentication-error.component.ts","../../../projects/authentication-lib/src/lib/authentication-error/authentication-error.component.html","../../../projects/authentication-lib/src/lib/login-menu/login-menu.component.ts","../../../projects/authentication-lib/src/lib/login-menu/login-menu.component.html","../../../projects/authentication-lib/src/lib/logout/logout.component.ts","../../../projects/authentication-lib/src/lib/logout/logout.component.html","../../../projects/authentication-lib/src/lib/logout-callback/logout-callback.component.ts","../../../projects/authentication-lib/src/lib/logout-callback/logout-callback.component.html","../../../projects/authentication-lib/src/public-api.ts","../../../projects/authentication-lib/src/bcweed-authentication-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Router, NavigationEnd, ActivatedRoute } from '@angular/router';\nimport { filter} from 'rxjs/operators';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RouteHistoryService {\n\n private previousUrl: string | null = null;\n private currentUrl: string | null = null;\n\n constructor(private router: Router, private activatedRoute:ActivatedRoute) { }\n\n init() {\n this.currentUrl = this.router.url;\n\n this.router.events\n .pipe(filter(event => event instanceof NavigationEnd))\n .subscribe((event: NavigationEnd) => {\n this.previousUrl = this.currentUrl;\n this.currentUrl = event.urlAfterRedirects;\n });\n }\n\n getPreviousUrl(): string | null {\n return this.previousUrl;\n }\n\n}\n","import { InjectionToken } from '@angular/core';\r\nimport { AuthConfig } from 'angular-oauth2-oidc';\r\n\r\nexport const AUTHENTICATION_LIB_CONFIG = new InjectionToken<AuthConfig>('AUTHENTICATION_LIB_CONFIG');\r\n","import { Injectable, Inject, PLATFORM_ID } from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { OAuthService, OAuthErrorEvent, OAuthEvent, AuthConfig } from 'angular-oauth2-oidc';\r\nimport { JwksValidationHandler } from 'angular-oauth2-oidc-jwks';\r\nimport { Router } from '@angular/router';\r\nimport { BehaviorSubject, combineLatest, map, Observable, ReplaySubject, Subject } from 'rxjs';\r\nimport { AUTHENTICATION_LIB_CONFIG } from './authentication-lib.tokens';\r\n//import { authConfig } from './auth.config';\r\nexport interface UserProfile {\r\n sub: string;\r\n name?: string;\r\n email?: string;\r\n preferred_username?: string;\r\n given_name?: string;\r\n family_name?: string;\r\n fax?: string;\r\n address?: string;\r\n address2?: string;\r\n city?: string;\r\n region?: string;\r\n country?: string;\r\n phone_number?: string;\r\n postal_code?: string;\r\n [key: string]: any;\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthService {\r\n constructor(@Inject(AUTHENTICATION_LIB_CONFIG) private readonly authConfig: AuthConfig,\r\n private oauthService: OAuthService,\r\n private router: Router,\r\n @Inject(PLATFORM_ID) private platformId: object) {\r\n if (isPlatformBrowser(this.platformId)) {\r\n this.oauthService.configure(authConfig);\r\n this.oauthService.tokenValidationHandler = new JwksValidationHandler(); // Auto-handles redirect back\r\n\r\n this.oauthService.events\r\n .subscribe(_ => {\r\n this.isAuthenticatedSubject$.next(this.oauthService.hasValidAccessToken());\r\n });\r\n this.oauthService.events.subscribe(e => this.handleOAuthEvent(e));\r\n\r\n this.oauthService.setupAutomaticSilentRefresh();\r\n }\r\n \r\n }\r\n private readonly profile$ = new BehaviorSubject<UserProfile | null>(null);\r\n private profileLoading = false;\r\n private profileIsLoaded = false;\r\n private isAuthenticatedSubject$ = new BehaviorSubject<boolean>(false);\r\n public isAuthenticated$ = this.isAuthenticatedSubject$.asObservable();\r\n\r\n private isDoneLoadingSubject$ = new ReplaySubject<boolean>();\r\n public isDoneLoading$ = this.isDoneLoadingSubject$.asObservable();\r\n\r\n private eventsSubject$ = new Subject<OAuthEvent>;\r\n public events$ = this.eventsSubject$.asObservable();\r\n /**\r\n * Publishes `true` if and only if (a) all the asynchronous initial\r\n * login calls have completed or errored, and (b) the user ended up\r\n * being authenticated.\r\n *\r\n * In essence, it combines:\r\n *\r\n * - the latest known state of whether the user is authorized\r\n * - whether the ajax calls for initial log in have all been done\r\n */\r\n public isLoggedIn$: Observable<boolean> = combineLatest([\r\n this.isAuthenticated$,\r\n this.isDoneLoading$\r\n ]).pipe(map(values => values.every(b => b)));\r\n\r\n public loadConfiguration(authConfig: AuthConfig) {\r\n this.oauthService.configure(authConfig);\r\n this.oauthService.tokenValidationHandler = new JwksValidationHandler(); // Auto-handles redirect back\r\n\r\n this.oauthService.events\r\n .subscribe(_ => {\r\n this.isAuthenticatedSubject$.next(this.oauthService.hasValidAccessToken());\r\n });\r\n this.oauthService.events.subscribe(e => this.handleOAuthEvent(e));\r\n\r\n this.oauthService.setupAutomaticSilentRefresh();\r\n }\r\n\r\n public runInitialLoginSequence(): Promise<void> {\r\n return this.oauthService.loadDiscoveryDocument()\r\n .then(() => this.oauthService.tryLoginCodeFlow())\r\n .then(() => {\r\n this.isDoneLoadingSubject$.next(true);\r\n // remove query params\r\n //this.router.navigate(['']);\r\n })\r\n .catch(() => this.isDoneLoadingSubject$.next(true));\r\n }\r\n\r\n public login(returnUrl: string): void {\r\n // Triggers redirect to IdP with PKCE code challenge\r\n this.oauthService.initCodeFlow(returnUrl); // Authorization Code + PKCE\r\n }\r\n\r\n logout(): void {\r\n this.oauthService.logOut(); // Optionally also call revocation endpoint\r\n }\r\n revokeTokenAndLogout(): void {\r\n this.oauthService.revokeTokenAndLogout({\r\n idTokenHint: this.oauthService.getIdToken(),\r\n client_id: this.authConfig.clientId,\r\n returnTo: this.authConfig.postLogoutRedirectUri\r\n }, true); // Optionally also call revocation endpoint\r\n }\r\n\r\n public state(): string | undefined {\r\n return this.oauthService.state;\r\n }\r\n public hasRole(role: string) {\r\n let claims: any = this.oauthService.getIdentityClaims();\r\n if (claims && claims.role) {\r\n let roles: string[] = claims.role;\r\n roles = roles.map(role => role.toUpperCase());\r\n return roles.includes(role.toLocaleUpperCase());\r\n }\r\n return false;\r\n }\r\n public refresh() {\r\n this.oauthService.silentRefresh();\r\n }\r\n\r\n public hasValidToken() {\r\n return this.oauthService.hasValidAccessToken();\r\n }\r\n\r\n public getFullname() {\r\n let claims: any = this.oauthService.getIdentityClaims();\r\n if (claims && claims.name) {\r\n return claims.name;\r\n }\r\n return undefined;\r\n }\r\n get accessToken(): string {\r\n return this.oauthService.getAccessToken();\r\n } \r\n\r\n get identityClaims(): any {\r\n return this.oauthService.getIdentityClaims();\r\n }\r\n\r\n get isLoggedIn(): boolean {\r\n return !!this.accessToken;\r\n }\r\n\r\n get userProfile$() {\r\n return this.profile$.asObservable();\r\n }\r\n\r\n /** Synchronous getter */\r\n get snapshot(): UserProfile | null {\r\n return this.profile$.value;\r\n }\r\n\r\n /** Clears profile on logout */\r\n clearProfile() {\r\n this.profile$.next(null);\r\n this.profileIsLoaded = false;\r\n }\r\n\r\n /** Loads user profile from userinfo endpoint */\r\n async loadProfile(): Promise<void> {\r\n if (this.profileIsLoaded) return;\r\n if (this.profileLoading) return;\r\n if (!this.oauthService.hasValidAccessToken()) return;\r\n\r\n this.profileLoading = true;\r\n\r\n try {\r\n const profile: any = await this.oauthService.loadUserProfile();\r\n const info = profile?.info ?? null;\r\n this.profile$.next(info);\r\n this.profileIsLoaded = true;\r\n\r\n } catch (err) {\r\n console.warn('User profile load failed:', err);\r\n // swallow error — do not let Angular ErrorHandler see it\r\n } finally {\r\n this.profileLoading = false;\r\n }\r\n }\r\n\r\n /** Handles OAuth events */\r\n private handleOAuthEvent(e: OAuthEvent) {\r\n this.eventsSubject$.next(e);\r\n switch (e.type) {\r\n case 'token_received':\r\n this.loadProfile();\r\n break;\r\n\r\n case 'discovery_document_loaded':\r\n if (this.oauthService.hasValidAccessToken()) {\r\n this.loadProfile();\r\n }\r\n break;\r\n case 'user_profile_loaded':\r\n // Some IdPs trigger this event automatically\r\n // this.loadProfile();\r\n break;\r\n\r\n case 'logout':\r\n case 'session_terminated':\r\n case 'session_error':\r\n this.clearProfile();\r\n break;\r\n\r\n case 'silent_refresh_error':\r\n case 'silent_refresh_timeout':\r\n console.log(e);\r\n throw new Error(e.type);\r\n break;\r\n\r\n default:\r\n // Swallow OAuth errors before Angular sees them\r\n if (e instanceof OAuthErrorEvent) {\r\n console.warn('OAuth error intercepted:', e);\r\n }\r\n break;\r\n }\r\n }\r\n}\r\n","import { NgModule, ModuleWithProviders, APP_INITIALIZER } from '@angular/core';\r\nimport { AuthConfig } from 'angular-oauth2-oidc';\r\nimport { AUTHENTICATION_LIB_CONFIG } from './authentication-lib.tokens';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { RouteHistoryService } from './route-history.service';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n RouterModule\r\n ],\r\n exports: [],\r\n providers: [\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: (history: RouteHistoryService) => () => history.init(),\r\n deps: [RouteHistoryService],\r\n multi: true\r\n },\r\n\r\n ]\r\n})\r\nexport class AuthenticationLibModule {\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { OAuthEvent } from 'angular-oauth2-oidc';\r\nimport { ActivatedRoute, NavigationExtras, Router } from '@angular/router';\r\nimport { AuthService } from '../auth.service';\r\n@Component({\r\n selector: 'app-auth-callback',\r\n standalone: false,\r\n templateUrl: './auth-callback.component.html',\r\n styleUrl: './auth-callback.component.scss'\r\n})\r\nexport class AuthCallbackComponent implements OnInit {\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute, private authService: AuthService) { }\r\n\r\n ngOnInit(): void {\r\n if (this.activatedRoute.snapshot.queryParams['error']) {\r\n // this.authService.createAndSaveNonce();\r\n this.authService.events$.subscribe((event: OAuthEvent) => {\r\n if (event.type === 'code_error' && this.authService.state()) {\r\n // Read and decode the original return URL from the state property\r\n const redirectUrl = decodeURIComponent(this.authService.state()!);\r\n\r\n // Redirect the user to the intended page\r\n if (redirectUrl && redirectUrl !== '/') {\r\n this.reRouteToError(redirectUrl);\r\n }\r\n }\r\n });\r\n const state = this.authService.state();\r\n if (state && state !== undefined) {\r\n const redirectUrl = decodeURIComponent(state);\r\n if (redirectUrl && redirectUrl !== '/') {\r\n this.reRouteToError(redirectUrl);\r\n }\r\n else {\r\n this.reRouteToError('/');\r\n\r\n }\r\n }\r\n }\r\n else {\r\n this.authService.events$.subscribe((event: OAuthEvent) => {\r\n if (event.type === 'token_received' && this.authService.state()) {\r\n // Read and decode the original return URL from the state property\r\n const redirectUrl = decodeURIComponent(this.authService.state()!);\r\n\r\n // Redirect the user to the intended page\r\n if (redirectUrl && redirectUrl !== '/') {\r\n console.log('Redirecting to initially requested page:', redirectUrl);\r\n this.router.navigateByUrl(redirectUrl);\r\n }\r\n else {\r\n this.router.navigate(['/home']);\r\n }\r\n }\r\n });\r\n }\r\n \r\n }\r\n private reRouteToError(redirectUrl:string): void {\r\n const navigationExtras: NavigationExtras = {\r\n queryParams: {\r\n returnUrl: redirectUrl\r\n }\r\n };\r\n this.router.navigate(['/authentication-error'], navigationExtras);\r\n }\r\n}\r\n\r\n","\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { AuthService } from '../auth.service';\r\nimport { RouteHistoryService } from '../route-history.service';\r\nimport { Injectable, Inject, PLATFORM_ID } from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './login.component.html',\r\n styleUrl: './login.component.scss'\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n constructor(private activatedRoute: ActivatedRoute, private routeHistoryService: RouteHistoryService, private authService: AuthService,\r\n @Inject(PLATFORM_ID) private platformId: object) { }\r\n ngOnInit() {\r\n debugger;\r\n if (isPlatformBrowser(this.platformId)) {\r\n const rt = this.activatedRoute;\r\n const returnUrl = rt.snapshot.queryParams['returnUrl'] || this.routeHistoryService.getPreviousUrl() || '/';\r\n this.authService.login(returnUrl);\r\n }\r\n }\r\n \r\n}\r\n","<p>Redirecting!!!!</p>\r\n","import { CommonModule } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, RouterModule } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\n\n@Component({\n selector: 'app-authentication-error',\n imports: [CommonModule,RouterModule],\n standalone: true,\n templateUrl: './authentication-error.component.html',\n styleUrl: './authentication-error.component.scss'\n})\nexport class AuthenticationErrorComponent implements OnInit {\n constructor(private activatedRoute: ActivatedRoute) { }\n routeParams$: Observable<any> | undefined;\n returnUrl: string | undefined;\n ngOnInit(): void {\n\n this.routeParams$ = this.activatedRoute.queryParams.pipe(\n map(params => {\n if (params['returnUrl']) {\n\n return params['returnUrl'];\r\n }\n else {\n return '/';\r\n }\n })\n );\n }\n}\n","<p>authentication-error works!</p>\r\n\r\n<button [routerLink]=\"['/auth/login']\" [queryParams]=\"{ returnUrl: routeParams$ | async }\">Retry Login</button>\r\n<br />\r\n<button [routerLink]=\"['/home']\">Go Home</button>\r\n@if (routeParams$ | async) {\r\n}\r\n","import { Component } from '@angular/core';\nimport { from, Observable } from 'rxjs';\nimport { CommonModule } from '@angular/common';\nimport {RouterModule } from '@angular/router';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { MenuItem } from 'primeng/api';\nimport { AuthService, UserProfile } from '../auth.service';\n\n@Component({\n selector: 'app-login-menu',\n standalone: true,\n imports: [CommonModule, RouterModule], // Add them to the imports array\n templateUrl: './login-menu.component.html',\n styleUrl: './login-menu.component.scss'\n})\nexport class LoginMenuComponent {\n\n isExpanded = false;\n isSmallMedia = false;\n userRoles: string[] = [];\n items: MenuItem[] | undefined;\n public isAuthenticated?: boolean;\n profile$: Observable<UserProfile | null>;\n isAuthenticated$: Observable<boolean | null> | undefined;\n constructor(private responsive: BreakpointObserver, private authService: AuthService) {\n this.profile$ = this.authService.userProfile$;\n this.isAuthenticated$ = this.authService.isAuthenticated$;\n }\n ngOnInit() {\n this.responsive.observe([Breakpoints.Small, Breakpoints.XSmall])\n .subscribe(result => {\n\n\n if (result.matches) {\n this.isSmallMedia = true;\n\n }\n else {\n this.isSmallMedia = false;\n\n }\n });\n }\n collapse() {\n this.isExpanded = false;\n }\n\n toggle() {\n this.isExpanded = !this.isExpanded;\n }\n}\n","@if ((isAuthenticated$ | async) === true) {\r\n <ul role=\"menu\" [ngClass]=\"[isSmallMedia ? 'p-menubar-root-list-end-small' : 'p-menubar-root-list']\">\r\n <li role=\"menuitem\" ptooltip=\"\" class=\"p-element p-menubar-item\">\r\n <div class=\"p-menubar-item-content\">\r\n <a class=\"p-ripple p-element p-menubar-item-link\" [routerLink]='[\"/auth/logout\", ]' [state]='{ local: true }'>\r\n <span class=\"p-menubar-item-icon pi pi-sign-out\"></span>\r\n <span class=\"p-menubar-item-label\">Logout</span>\r\n </a>\r\n </div>\r\n </li>\r\n <li role=\"menuitem\" ptooltip=\"\" class=\"p-element p-menubar-item\">\r\n <div class=\"p-menubar-item-content\">\r\n <a class=\"p-ripple p-element p-menubar-item-link\" [routerLink]='[\"/authentication/profile\"]'>\r\n <span class=\"p-menubar-item-icon pi pi-user\"></span>\r\n <span class=\"p-menubar-item-label\">{{ (profile$ | async)?.given_name}} {{ (profile$ | async)?.family_name}}</span>\r\n </a>\r\n </div>\r\n </li>\r\n </ul>\r\n}\r\n@if ((isAuthenticated$ | async) !== true) {\r\n <ul role=\"menu\" [ngClass]=\"[isSmallMedia ? 'p-menubar-root-list-end-small' : 'p-menubar-root-list']\">\r\n <!--<li role=\"menuitem\" ptooltip=\"\" class=\"p-element p-menuitem\">\r\n <div class=\"p-menubar-item-content\">\r\n <a pripple=\"\" class=\"p-ripple p-element p-menubar-item-link\" [routerLink]='[\"/authentication/register\"]'>\r\n <span class=\"p-menubar-item-label\">Register</span>\r\n </a>\r\n </div>\r\n </li>-->\r\n <li role=\"menuitem\" ptooltip=\"\" class=\"p-element p-menubar-item\">\r\n <div class=\"p-menubar-item-content\">\r\n <a pripple=\"\" class=\"p-ripple p-element p-menubar-item-link\" [routerLink]='[\"/auth/login\"]'>\r\n <span class=\"p-menubar-item-icon pi pi-sign-in\"></span>\r\n <span class=\"p-menubar-item-label\">Login</span>\r\n </a>\r\n </div>\r\n </li>\r\n</ul>\r\n}\r\n","import { Component, OnInit, } from '@angular/core';\r\nimport { AuthService } from '../auth.service';\r\nimport { Injectable, Inject, PLATFORM_ID } from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-logout',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './logout.component.html',\r\n styleUrl: './logout.component.scss'\r\n})\r\nexport class LogoutComponent implements OnInit {\r\n\r\n constructor(private authService: AuthService,\r\n @Inject(PLATFORM_ID) private platformId: object) { }\r\n ngOnInit() {\r\n //this.authService.logout();\r\n if (isPlatformBrowser(this.platformId)) {\r\n this.authService.revokeTokenAndLogout();\r\n }\r\n \r\n // Clear local storage\r\n //localStorage.clear();\r\n //sessionStorage.clear();\r\n ////this.authService.revokeTokenAndLogout();\r\n }\r\n\r\n}\r\n","<p>Redirecting!!!!</p>\r\n","\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Injectable, Inject, PLATFORM_ID } from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-logout-callback',\r\n imports: [],\r\n standalone:true,\r\n templateUrl: './logout-callback.component.html',\r\n styleUrl: './logout-callback.component.scss'\r\n})\r\nexport class LogoutCallbackComponent implements OnInit {\r\n constructor(private router: Router,\r\n @Inject(PLATFORM_ID) private platformId: object) { }\r\n\r\n ngOnInit(): void {\r\n if (isPlatformBrowser(this.platformId)) {\r\n localStorage.clear();\r\n sessionStorage.clear();\r\n\r\n this.router.navigate(['/home']);\r\n }\r\n \r\n }\r\n}\r\n","","/*\r\n * Public API Surface of authentication-lib\r\n */\r\n\r\nexport * from './lib/route-history.service';\r\nexport * from './lib/auth.service';\r\nexport * from './lib/authentication-lib.tokens';\r\nexport * from './lib/authentication-lib.module';\r\nexport * from './lib/auth-callback/auth-callback.component';\r\nexport * from './lib/login/login.component';\r\nexport * from './lib/authentication-error/authentication-error.component';\r\nexport * from './lib/login-menu/login-menu.component';\r\nexport * from './lib/logout/logout.component';\r\nexport * from './lib/logout-callback/logout-callback.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i2.AuthService","map","i4"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bcweed/authentication-lib",
3
- "version": "0.0.4",
3
+ "version": "0.0.5",
4
4
  "description": "This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 19.2.0.",
5
5
  "license": "ISC",
6
6
  "author": "",