UNPKG

@minimaltech/node-infra

Version:

Minimal Technology NodeJS Infrastructure - Loopback 4 Framework

31 lines (30 loc) 1.12 kB
import { AuthorizationContext, AuthorizationDecision, AuthorizationMetadata, Authorizer } from '@loopback/authorization'; import { Provider } from '@loopback/core'; import { EnforcerService } from './services'; export declare class AuthorizeProvider implements Provider<Authorizer> { private enforcerService; private alwaysAllowRoles; private normalizePayloadFn; private logger; constructor(enforcerService: EnforcerService, alwaysAllowRoles: string[], normalizePayloadFn: (opts: { subject: string; object: string; scope?: string; }) => { subject: string; object: string; action: string; }); value(): Authorizer<AuthorizationMetadata>; normalizeEnforcePayload(opts: { subject: string; object: string; scope?: string; }): { subject: string; object: string; action: string; }; authorizePermission(userId: number, object: string, scopes?: string[]): Promise<boolean>; authorize(context: AuthorizationContext, metadata: AuthorizationMetadata): Promise<AuthorizationDecision>; }