UNPKG

n8n

Version:

n8n Workflow Automation Tool

46 lines (45 loc) 2.4 kB
import type { SamlPreferences } from '@n8n/api-types'; import type express from 'express'; import { Logger } from 'n8n-core'; import type { IdentityProviderInstance, ServiceProviderInstance } from 'samlify'; import type { BindingContext, PostBindingContext } from 'samlify/types/src/entity'; import type { User } from '../../databases/entities/user'; import { SettingsRepository } from '../../databases/repositories/settings.repository'; import { UserRepository } from '../../databases/repositories/user.repository'; import { UrlService } from '../../services/url.service'; import { SamlValidator } from './saml-validator'; import type { SamlLoginBinding, SamlUserAttributes } from './types'; export declare class SamlService { private readonly logger; private readonly urlService; private readonly validator; private readonly userRepository; private readonly settingsRepository; private identityProviderInstance; private samlify; private _samlPreferences; get samlPreferences(): SamlPreferences; constructor(logger: Logger, urlService: UrlService, validator: SamlValidator, userRepository: UserRepository, settingsRepository: SettingsRepository); init(): Promise<void>; loadSamlify(): Promise<void>; getIdentityProviderInstance(forceRecreate?: boolean): IdentityProviderInstance; getServiceProviderInstance(): ServiceProviderInstance; getLoginRequestUrl(relayState?: string, binding?: SamlLoginBinding): Promise<{ binding: SamlLoginBinding; context: BindingContext | PostBindingContext; }>; private getRedirectLoginRequestUrl; private getPostLoginRequestUrl; handleSamlLogin(req: express.Request, binding: SamlLoginBinding): Promise<{ authenticatedUser: User | undefined; attributes: SamlUserAttributes; onboardingRequired: boolean; }>; setSamlPreferences(prefs: Partial<SamlPreferences>): Promise<SamlPreferences | undefined>; loadPreferencesWithoutValidation(prefs: Partial<SamlPreferences>): Promise<void>; loadFromDbAndApplySamlPreferences(apply?: boolean): Promise<SamlPreferences | undefined>; saveSamlPreferencesToDb(): Promise<SamlPreferences | undefined>; fetchMetadataFromUrl(): Promise<string | undefined>; getAttributesFromLoginResponse(req: express.Request, binding: SamlLoginBinding): Promise<SamlUserAttributes>; reset(): Promise<void>; }