Browse Source

auth flow updated

pull/23416/head
erdemcaygor 9 months ago
parent
commit
d067868eaf
  1. 9
      npm/ng-packs/packages/core/src/lib/guards/permission.guard.ts

9
npm/ng-packs/packages/core/src/lib/guards/permission.guard.ts

@ -1,4 +1,4 @@
import { Injectable, inject } from '@angular/core'; import { Injectable, inject, PLATFORM_ID } from '@angular/core';
import { import {
ActivatedRouteSnapshot, ActivatedRouteSnapshot,
CanActivateFn, CanActivateFn,
@ -11,6 +11,7 @@ import { filter, take, tap } from 'rxjs/operators';
import { AuthService, IAbpGuard } from '../abstracts'; import { AuthService, IAbpGuard } from '../abstracts';
import { findRoute, getRoutePath } from '../utils/route-utils'; import { findRoute, getRoutePath } from '../utils/route-utils';
import { RoutesService, PermissionService, HttpErrorReporterService } from '../services'; import { RoutesService, PermissionService, HttpErrorReporterService } from '../services';
import { isPlatformServer } from '@angular/common';
/** /**
* @deprecated Use `permissionGuard` *function* instead. * @deprecated Use `permissionGuard` *function* instead.
*/ */
@ -57,6 +58,7 @@ export const permissionGuard: CanActivateFn = (
const authService = inject(AuthService); const authService = inject(AuthService);
const permissionService = inject(PermissionService); const permissionService = inject(PermissionService);
const httpErrorReporter = inject(HttpErrorReporterService); const httpErrorReporter = inject(HttpErrorReporterService);
const platformId = inject(PLATFORM_ID);
let { requiredPolicy } = route.data || {}; let { requiredPolicy } = route.data || {};
@ -69,6 +71,11 @@ export const permissionGuard: CanActivateFn = (
return of(true); return of(true);
} }
//TODO enable permission check on ssr
if (isPlatformServer(platformId)) {
return of(true);
}
return permissionService.getGrantedPolicy$(requiredPolicy).pipe( return permissionService.getGrantedPolicy$(requiredPolicy).pipe(
filter(Boolean), filter(Boolean),
take(1), take(1),

Loading…
Cancel
Save