UNPKG

@iotize/ionic

Version:

Iotize specific building blocks on top of @ionic/angular.

1 lines 6.09 kB
{"version":3,"file":"iotize-ionic-auth.mjs","sources":["../../../../projects/iotize-ionic/auth/src/lib/debug.ts","../../../../projects/iotize-ionic/auth/src/lib/device-auth.guard.ts","../../../../projects/iotize-ionic/auth/src/lib/tap-auth.module.ts","../../../../projects/iotize-ionic/auth/src/lib/tap-auth.service.ts","../../../../projects/iotize-ionic/auth/src/iotize-ionic-auth.ts"],"sourcesContent":["import { createDebugger } from '@iotize/common/debug';\r\n\r\nexport const debug = createDebugger('@iotize/ionic:auth');\r\n","import { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n RouterStateSnapshot,\n} from '@angular/router';\nimport { CurrentDeviceService } from '@iotize/ionic';\nimport { defer, Observable, Subject } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { debug } from './debug';\n\nexport interface UnauthorizedTapUserPageAccessEvent {\n route: ActivatedRouteSnapshot;\n state: RouterStateSnapshot;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DeviceAuthGuard implements CanActivate {\n private readonly _unauthorizedUser =\n new Subject<UnauthorizedTapUserPageAccessEvent>();\n\n readonly unauthorizedPageAccessEvent: Observable<UnauthorizedTapUserPageAccessEvent> =\n this._unauthorizedUser.asObservable();\n\n constructor(private tapService: CurrentDeviceService) {}\n\n canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ): Observable<boolean> | boolean {\n if (!route.data.username) {\n return true;\n }\n return defer(() =>\n this.tapService.isLoggedInAsUserOrProfileName(route.data.username)\n ).pipe(\n map((isLoggedAs: boolean) => {\n if (!isLoggedAs) {\n debug(\n `User \"${this.tapService.sessionStateSnapshot.name}\" is not authorized to access \"${route.url}\" (required profile: \"${route.data.username}\")`\n );\n this._unauthorizedUser.next({\n route,\n state,\n });\n }\n return isLoggedAs;\n })\n );\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport {\n LibCommonModule,\n TaskManagerModule,\n TaskManagerUiModule,\n} from '@iotize/ionic';\n\n@NgModule({\n declarations: [],\n providers: [],\n imports: [\n LibCommonModule,\n FormsModule,\n ReactiveFormsModule,\n TaskManagerModule,\n TaskManagerUiModule,\n ],\n})\nexport class TapAuthModule {}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TapAuthService {\n public options: {\n rememberMe?: boolean;\n lastCredentials?: {\n username: string;\n password?: string;\n };\n };\n\n constructor() {\n try {\n this.options = JSON.parse(\n localStorage.getItem('TapAuthServiceStorage') || '{}'\n );\n } catch (err) {\n this.options = {};\n }\n if (!this.options) {\n this.options = {};\n }\n }\n\n store() {\n localStorage.setItem('TapAuthServiceStorage', JSON.stringify(this.options));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}