UNPKG

kinde-angular

Version:

Angular wrapper for the Kinde TypeScript SDK

25 lines 4.03 kB
import { inject } from "@angular/core"; import { KindeAngularService } from "./kinde-angular.service"; import { take, tap } from "rxjs"; import { Router } from "@angular/router"; export const canMatchAuthGuard = () => { const authService = inject(KindeAngularService); return authService.isAuthenticated$.pipe(take(1)); }; export const canActivateAuthGuard = () => { const authService = inject(KindeAngularService); return authService.isAuthenticated$.pipe(take(1), tap(async (isAuthenticated) => { if (!isAuthenticated) { await authService.login(); } })); }; export const featureFlagGuard = (flagName, redirect) => { return async () => { const authService = inject(KindeAngularService); const router = inject(Router); const isEnabled = await authService.getFeatureFlagEnabled(flagName); return isEnabled || router.createUrlTree([redirect || '/']); }; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2tpbmRlLWFuZ3VsYXIvc3JjL2xpYi9hdXRoLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUE2QixNQUFNLEVBQVcsTUFBTSxpQkFBaUIsQ0FBQztBQUU3RSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBZSxHQUFHLEVBQUU7SUFDaEQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDaEQsT0FBTyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BELENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFrQixHQUFHLEVBQUU7SUFDdEQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDaEQsT0FBTyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUN0QyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsR0FBRyxDQUFDLEtBQUssRUFBQyxlQUFlLEVBQUMsRUFBRTtRQUMxQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDckIsTUFBTSxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLFFBQWdCLEVBQUUsUUFBaUIsRUFBaUIsRUFBRTtJQUNyRixPQUFPLEtBQUssSUFBZ0MsRUFBRTtRQUM1QyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNoRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUIsTUFBTSxTQUFTLEdBQUcsTUFBTSxXQUFXLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFcEUsT0FBTyxTQUFTLElBQUksTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFFBQVEsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUMsQ0FBQTtBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBLaW5kZUFuZ3VsYXJTZXJ2aWNlIH0gZnJvbSBcIi4va2luZGUtYW5ndWxhci5zZXJ2aWNlXCI7XG5pbXBvcnQgeyB0YWtlLCB0YXAgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgQ2FuQWN0aXZhdGVGbiwgQ2FuTWF0Y2hGbiwgUm91dGVyLCBVcmxUcmVlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuXG5leHBvcnQgY29uc3QgY2FuTWF0Y2hBdXRoR3VhcmQ6IENhbk1hdGNoRm4gPSAoKSA9PiB7XG4gIGNvbnN0IGF1dGhTZXJ2aWNlID0gaW5qZWN0KEtpbmRlQW5ndWxhclNlcnZpY2UpO1xuICByZXR1cm4gYXV0aFNlcnZpY2UuaXNBdXRoZW50aWNhdGVkJC5waXBlKHRha2UoMSkpO1xufVxuXG5leHBvcnQgY29uc3QgY2FuQWN0aXZhdGVBdXRoR3VhcmQ6IENhbkFjdGl2YXRlRm4gPSAoKSA9PiB7XG4gIGNvbnN0IGF1dGhTZXJ2aWNlID0gaW5qZWN0KEtpbmRlQW5ndWxhclNlcnZpY2UpO1xuICByZXR1cm4gYXV0aFNlcnZpY2UuaXNBdXRoZW50aWNhdGVkJC5waXBlKFxuICAgIHRha2UoMSksXG4gICAgdGFwKGFzeW5jIGlzQXV0aGVudGljYXRlZCA9PiB7XG4gICAgICBpZiAoIWlzQXV0aGVudGljYXRlZCkge1xuICAgICAgICBhd2FpdCBhdXRoU2VydmljZS5sb2dpbigpO1xuICAgICAgfVxuICAgIH0pXG4gICk7XG59XG5cbmV4cG9ydCBjb25zdCBmZWF0dXJlRmxhZ0d1YXJkID0gKGZsYWdOYW1lOiBzdHJpbmcsIHJlZGlyZWN0Pzogc3RyaW5nKTogQ2FuQWN0aXZhdGVGbiA9PiB7XG4gIHJldHVybiBhc3luYyAoKTogUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4gPT4ge1xuICAgIGNvbnN0IGF1dGhTZXJ2aWNlID0gaW5qZWN0KEtpbmRlQW5ndWxhclNlcnZpY2UpO1xuICAgIGNvbnN0IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICAgIGNvbnN0IGlzRW5hYmxlZCA9IGF3YWl0IGF1dGhTZXJ2aWNlLmdldEZlYXR1cmVGbGFnRW5hYmxlZChmbGFnTmFtZSk7XG5cbiAgICByZXR1cm4gaXNFbmFibGVkIHx8IHJvdXRlci5jcmVhdGVVcmxUcmVlKFtyZWRpcmVjdCB8fCAnLyddKTtcbiAgfVxufTtcbiJdfQ==