n8n
Version:
n8n Workflow Automation Tool
34 lines (33 loc) • 1.63 kB
TypeScript
import { Logger } from '@n8n/backend-common';
import { AuthIdentityRepository, UserRepository, type User } from '@n8n/db';
import { EventService } from '../../../events/event.service';
import { RoleService } from '../../../services/role.service';
import { UserService } from '../../../services/user.service';
import { TokenExchangeConfig } from '../token-exchange.config';
import type { ExternalTokenClaims } from '../token-exchange.schemas';
import { TrustedKeyService } from './trusted-key.service';
export declare function qualifiedProviderId(issuer: string, sub: string): string;
export declare class IdentityResolutionService {
private readonly userRepository;
private readonly authIdentityRepository;
private readonly eventService;
private readonly userService;
private readonly trustedKeyService;
private readonly roleService;
private readonly config;
private readonly logger;
constructor(logger: Logger, userRepository: UserRepository, authIdentityRepository: AuthIdentityRepository, eventService: EventService, userService: UserService, trustedKeyService: TrustedKeyService, roleService: RoleService, config: TokenExchangeConfig);
private assertKeyMayActAsUser;
private assertEmailVerified;
resolve(claims: ExternalTokenClaims, allowedRoles: string[] | undefined, tokenContext: {
kid: string;
issuer: string;
requireVerifiedEmail: boolean;
}): Promise<User>;
private resolveByIdentity;
private resolveByEmail;
private provisionUser;
private resolveRoleForExistingUser;
private resolveRoleForNewUser;
private syncProfile;
}