Merge pull request #847 from bitwarden/unauth-unlock-guards

Add unauthGuard and lockGuard to prevent unintended navigation
This commit is contained in:
Thomas Rittson 2021-04-22 18:14:03 +10:00 committed by GitHub
commit f7d2ab7d97
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 3 deletions

2
jslib

@ -1 +1 @@
Subproject commit 3c872e56f27ae78fb922b765d7601886b5c39f78 Subproject commit 36641f07b9807d90270ccd743d16b903cb558078

View File

@ -5,6 +5,8 @@ import {
} from '@angular/router'; } from '@angular/router';
import { AuthGuardService } from 'jslib/angular/services/auth-guard.service'; 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 { HintComponent } from './accounts/hint.component';
import { LockComponent } from './accounts/lock.component'; import { LockComponent } from './accounts/lock.component';
@ -20,8 +22,17 @@ import { VaultComponent } from './vault/vault.component';
const routes: Routes = [ const routes: Routes = [
{ path: '', redirectTo: '/vault', pathMatch: 'full' }, { 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: '2fa', component: TwoFactorComponent },
{ path: 'register', component: RegisterComponent }, { path: 'register', component: RegisterComponent },
{ {

View File

@ -20,6 +20,8 @@ import { NativeMessagingService } from '../services/nativeMessaging.service';
import { AuthGuardService } from 'jslib/angular/services/auth-guard.service'; import { AuthGuardService } from 'jslib/angular/services/auth-guard.service';
import { BroadcasterService } from 'jslib/angular/services/broadcaster.service'; import { BroadcasterService } from 'jslib/angular/services/broadcaster.service';
import { LockGuardService } from 'jslib/angular/services/lock-guard.service';
import { UnauthGuardService } from 'jslib/angular/services/unauth-guard.service';
import { ValidationService } from 'jslib/angular/services/validation.service'; import { ValidationService } from 'jslib/angular/services/validation.service';
import { ApiService } from 'jslib/services/api.service'; import { ApiService } from 'jslib/services/api.service';
@ -186,6 +188,8 @@ export function initFactory(): Function {
providers: [ providers: [
ValidationService, ValidationService,
AuthGuardService, AuthGuardService,
UnauthGuardService,
LockGuardService,
{ provide: AuditServiceAbstraction, useValue: auditService }, { provide: AuditServiceAbstraction, useValue: auditService },
{ provide: AuthServiceAbstraction, useValue: authService }, { provide: AuthServiceAbstraction, useValue: authService },
{ provide: CipherServiceAbstraction, useValue: cipherService }, { provide: CipherServiceAbstraction, useValue: cipherService },