UNPKG

n8n

Version:

n8n Workflow Automation Tool

38 lines (37 loc) 1.45 kB
import { Logger } from '@n8n/backend-common'; import type { User } from '@n8n/db'; export interface ProtectedResource { id: string; displayName?: string; getResourceUrl(): string; getResourceUrls?(): string[]; getAudiences(): string[]; scopes: string[]; getScopeTools?(): Record<string, string[]>; isDefault?: boolean; getAllowedRedirectUris?(): Promise<string[]>; isFirstParty?: boolean; authorize(user: User): Promise<boolean>; } export interface ProtectedResourceResolver { readonly id: string; readonly scopes: string[]; resolveByUrl(resourceUrl: string): Promise<ProtectedResource | undefined>; resolveByPath(pathname: string, search?: string): Promise<ProtectedResource | undefined>; } export declare class ProtectedResourceRegistry { private readonly logger; private readonly resources; private readonly resolvers; constructor(logger: Logger); register(resource: ProtectedResource): void; registerResolver(resolver: ProtectedResourceResolver): void; getById(id: string): ProtectedResource | undefined; getByResourceUrl(resourceUrl: string): Promise<ProtectedResource | undefined>; getByResourcePath(pathname: string): Promise<ProtectedResource | undefined>; private logResolverFailure; getAll(): ProtectedResource[]; getDefaultResource(): ProtectedResource | undefined; getAllAudiences(): string[]; getAllScopes(): string[]; }