import { ActivatedRouteSnapshot, CanActivateFn, RouterStateSnapshot, UrlTree } from '@angular/router'; import { AuthGuardData, createAuthGuard } from 'keycloak-angular'; export async function isAuthenticated( _route: ActivatedRouteSnapshot, state: RouterStateSnapshot, authData: AuthGuardData ): Promise { const { authenticated, keycloak } = authData; if (!authenticated) { await keycloak.login({ redirectUri: window.location.origin + state.url }); return false; } return true; } export const requireAuthGuard: CanActivateFn = createAuthGuard(isAuthenticated);