UNPKG

@iotize/ionic

Version:

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

1 lines 5.96 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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"}