feat(core): Add OIDC support for SSO (#15988)

Co-authored-by: Andreas Fitzek <andreas.fitzek@n8n.io>
This commit is contained in:
Ricardo Espinoza
2025-06-13 10:18:14 -04:00
committed by GitHub
parent 0d5ac1f822
commit 30148df7f3
40 changed files with 1358 additions and 197 deletions

View File

@@ -72,3 +72,5 @@ export { InsightsDateFilterDto } from './insights/date-filter.dto';
export { PaginationDto } from './pagination/pagination.dto';
export { UsersListFilterDto } from './user/users-list-filter.dto';
export { OidcConfigDto } from './oidc/config.dto';

View File

@@ -0,0 +1,9 @@
import { z } from 'zod';
import { Z } from 'zod-class';
export class OidcConfigDto extends Z.class({
clientId: z.string().min(1),
clientSecret: z.string().min(1),
discoveryEndpoint: z.string().url(),
loginEnabled: z.boolean().optional().default(false),
}) {}

View File

@@ -18,7 +18,7 @@ export interface ITelemetrySettings {
config?: ITelemetryClientConfig;
}
export type AuthenticationMethod = 'email' | 'ldap' | 'saml';
export type AuthenticationMethod = 'email' | 'ldap' | 'saml' | 'oidc';
export interface IUserManagementSettings {
quota: number;
@@ -84,6 +84,11 @@ export interface FrontendSettings {
loginLabel: string;
loginEnabled: boolean;
};
oidc: {
loginEnabled: boolean;
loginUrl: string;
callbackUrl: string;
};
ldap: {
loginLabel: string;
loginEnabled: boolean;
@@ -129,6 +134,7 @@ export interface FrontendSettings {
sharing: boolean;
ldap: boolean;
saml: boolean;
oidc: boolean;
logStreaming: boolean;
advancedExecutionFilters: boolean;
variables: boolean;