From 62ccf420a2e2bce76dd6a7731d980b8d2ef5597d Mon Sep 17 00:00:00 2001 From: Thomas Rittson Date: Tue, 20 Apr 2021 14:01:33 +1000 Subject: [PATCH] Add guards to lock and login routes --- src/app/app-routing.module.ts | 15 +++++++++++++-- src/app/services.module.ts | 4 ++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index d7e48efc..61c261e7 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -5,6 +5,8 @@ import { } from '@angular/router'; import { AuthGuardService } from 'jslib/angular/services/auth-guard.service'; +import { lockGuardService } from 'jslib/angular/services/lock-guard.service'; +import { UnauthGuardService } from 'jslib/angular/services/unauth-guard.service'; import { HintComponent } from './accounts/hint.component'; import { LockComponent } from './accounts/lock.component'; @@ -20,8 +22,17 @@ import { VaultComponent } from './vault/vault.component'; const routes: Routes = [ { path: '', redirectTo: '/vault', pathMatch: 'full' }, - { path: 'lock', component: LockComponent }, - { path: 'login', component: LoginComponent }, + { + path: 'lock', + component: LockComponent, + canActivate: [lockGuardService], + }, + { + path: 'login', + component: LoginComponent, + canActivate: [UnauthGuardService], + + }, { path: '2fa', component: TwoFactorComponent }, { path: 'register', component: RegisterComponent }, { diff --git a/src/app/services.module.ts b/src/app/services.module.ts index d3caa7ce..99addf4e 100644 --- a/src/app/services.module.ts +++ b/src/app/services.module.ts @@ -19,6 +19,8 @@ import { I18nService } from '../services/i18n.service'; import { NativeMessagingService } from '../services/nativeMessaging.service'; import { AuthGuardService } from 'jslib/angular/services/auth-guard.service'; +import { UnauthGuardService } from 'jslib/angular/services/unauth-guard.service'; +import { lockGuardService } from 'jslib/angular/services/lock-guard.service'; import { BroadcasterService } from 'jslib/angular/services/broadcaster.service'; import { ValidationService } from 'jslib/angular/services/validation.service'; @@ -186,6 +188,8 @@ export function initFactory(): Function { providers: [ ValidationService, AuthGuardService, + UnauthGuardService, + lockGuardService, { provide: AuditServiceAbstraction, useValue: auditService }, { provide: AuthServiceAbstraction, useValue: authService }, { provide: CipherServiceAbstraction, useValue: cipherService },