diff --git a/src/app/auth/auth.module.ts b/src/app/auth/auth.module.ts index 947caf84..51c7fcc6 100644 --- a/src/app/auth/auth.module.ts +++ b/src/app/auth/auth.module.ts @@ -95,7 +95,7 @@ export class AuthModule { constructor(http: HttpClient) { - AuthGuard.permissionsObservable = http.get("/api/account/default-permissions") + AuthGuard.permissionsObservable = http.get("/api/account/permissions") .pipe(tap(x => AuthGuard.defaultPermissions = x)); } } diff --git a/src/app/auth/misc/authenticated-guard.service.ts b/src/app/auth/misc/authenticated-guard.service.ts index eb8adbb2..f216cae5 100644 --- a/src/app/auth/misc/authenticated-guard.service.ts +++ b/src/app/auth/misc/authenticated-guard.service.ts @@ -50,8 +50,20 @@ export class AuthGuard } else { + if (AuthGuard.defaultPermissions === undefined) + { + try + { + await AuthGuard.permissionsObservable.toPromise(); + } + catch + { + AuthGuard.defaultPermissions = null; + } + } + if (!AuthGuard.defaultPermissions) - await AuthGuard.permissionsObservable.toPromise(); + return true; for (const perm of permissions) if (!AuthGuard.defaultPermissions.includes(perm))