Skip to content

Commit 2abca40

Browse files
committed
fix: don't display login page after user has been logged in
* fixed bug where if user tried to log in by manually typing /service-access in the url, the login page would be displayed even after authentication (instead of homepage of the app)
1 parent 7f8e6b1 commit 2abca40

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

libs/perun/login/src/lib/login-screen-service-access/login-screen-service-access.component.ts

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,24 @@
1-
import { Component } from '@angular/core';
1+
import { Component, OnInit } from '@angular/core';
22
import { AuthzResolverService } from '@perun-web-apps/perun/openapi';
33
import { FormControl, Validators } from '@angular/forms';
4+
import { Router } from '@angular/router';
5+
import { AuthService } from '@perun-web-apps/perun/services';
46

57
@Component({
68
selector: 'perun-web-apps-login-screen-service-access',
79
templateUrl: './login-screen-service-access.component.html',
810
styleUrls: ['./login-screen-service-access.component.css'],
911
})
10-
export class LoginScreenServiceAccessComponent {
12+
export class LoginScreenServiceAccessComponent implements OnInit {
1113
usernameCtrl = new FormControl<string>(null, [Validators.required]);
1214
passwordCtrl = new FormControl<string>(null, [Validators.required]);
1315
wrongUsernameOrPassword = false;
1416

15-
constructor(private authzService: AuthzResolverService) {}
17+
constructor(
18+
private authzService: AuthzResolverService,
19+
private auth: AuthService,
20+
private router: Router
21+
) {}
1622

1723
startAuth(): void {
1824
if (this.usernameCtrl.invalid || this.passwordCtrl.invalid) return;
@@ -29,4 +35,10 @@ export class LoginScreenServiceAccessComponent {
2935
},
3036
});
3137
}
38+
39+
ngOnInit(): void {
40+
if (this.auth.isLoggedIn() || sessionStorage.getItem('baPrincipal')) {
41+
void this.router.navigate([''], { queryParamsHandling: 'merge' });
42+
}
43+
}
3244
}

libs/perun/login/src/lib/login-screen/login-screen.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export class LoginScreenComponent implements OnInit {
1111
constructor(private auth: AuthService, private router: Router) {}
1212

1313
ngOnInit(): void {
14-
if (this.auth.isLoggedIn()) {
14+
if (this.auth.isLoggedIn() || sessionStorage.getItem('baPrincipal')) {
1515
void this.router.navigate([''], { queryParamsHandling: 'merge' });
1616
}
1717
}

0 commit comments

Comments
 (0)