Files
alighasami 3d5eaf9445
Security: Sync from Public / sync-from-public (push) Has been cancelled
Test: Benchmark Nightly / build (push) Has been cancelled
Test: Benchmark Nightly / Notify Cats on failure (push) Has been cancelled
CI: Python / Checks (push) Has been cancelled
Test: Evals Python / Workflow Comparison Python (push) Has been cancelled
Util: Check Docs URLs / check-docs-urls (push) Has been cancelled
Test: Visual Storybook / Cloudflare Pages (push) Has been cancelled
Test: E2E Performance / build-and-test-performance (push) Has been cancelled
Test: Workflows Nightly / Run Workflow Tests (push) Has been cancelled
Util: Cleanup CI Docker Images / Delete stale CI images (push) Has been cancelled
Test: Benchmark Destroy Env / build (push) Has been cancelled
Util: Update Node Popularity / update-popularity (push) Has been cancelled
Test: E2E Coverage Weekly / Coverage Tests (push) Has been cancelled
first commit
2026-03-17 16:22:57 +03:30

31 lines
835 B
TypeScript

import type { n8nPage } from '../pages/n8nPage';
/**
* Composer for OIDC-related operations in E2E tests.
* Handles configuring OIDC settings.
*/
export class OidcComposer {
constructor(private readonly n8n: n8nPage) {}
/**
* Configure OIDC via UI form.
*
* @param discoveryUrl - The discovery URL for n8n backend (e.g., https://keycloak:8443/...)
* @param clientId - The OIDC client ID
* @param clientSecret - The OIDC client secret
*/
async configureOidc(discoveryUrl: string, clientId: string, clientSecret: string): Promise<void> {
const { settingsSso } = this.n8n;
await settingsSso.goto();
await settingsSso.selectOidcProtocol();
await settingsSso.fillOidcForm({
discoveryEndpoint: discoveryUrl,
clientId,
clientSecret,
enableLogin: true,
});
await settingsSso.saveOidcConfig();
}
}