Skip to content

1040 client - Add OIDC SSO support with dynamic identity provider management#4190

Open
ivicac wants to merge 2 commits intomasterfrom
1040
Open

1040 client - Add OIDC SSO support with dynamic identity provider management#4190
ivicac wants to merge 2 commits intomasterfrom
1040

Conversation

@ivicac
Copy link
Contributor

@ivicac ivicac commented Feb 13, 2026

Implement enterprise OIDC Single Sign-On: IdP domain model with Liquibase migration,
IdentityProviderService with encrypted client secrets, DynamicClientRegistrationRepository
for runtime provider resolution, SSO discovery endpoint, CustomOidcUserService, SSO
enforcement filter, GraphQL API for IdP CRUD, admin settings UI, and login page SSO
discovery on email blur.

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

…agement

Implement enterprise OIDC Single Sign-On: IdP domain model with Liquibase migration,
IdentityProviderService with encrypted client secrets, DynamicClientRegistrationRepository
for runtime provider resolution, SSO discovery endpoint, CustomOidcUserService, SSO
enforcement filter, GraphQL API for IdP CRUD, admin settings UI, and login page SSO
discovery on email blur.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request implements enterprise OIDC Single Sign-On (SSO) functionality for the ByteChef platform. The feature enables organizations to configure custom identity providers for authentication, providing a seamless SSO experience for users.

Changes:

  • Added GraphQL schema and API for identity provider CRUD operations with encrypted client secrets
  • Implemented SSO discovery endpoint that detects configured identity providers based on email domain
  • Created admin UI for managing identity providers with support for multiple domains, auto-provisioning, and SSO enforcement
  • Enhanced login page with automatic SSO discovery on email blur to redirect users to their organization's identity provider

Reviewed changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
client/src/shared/middleware/graphql.ts Generated GraphQL types, queries, mutations, and hooks for identity provider management
client/src/routes.tsx Added identity-providers route under platform settings with admin-only access
client/src/pages/account/public/Login.tsx Implemented SSO discovery on email blur with UI to redirect users to their identity provider
client/src/graphql/platform/user/*.graphql GraphQL query and mutation definitions for identity provider CRUD operations
client/src/ee/pages/settings/platform/identity-providers/stores/*.ts Zustand stores for managing identity provider dialog and deletion state
client/src/ee/pages/settings/platform/identity-providers/components/hooks/*.ts Custom hooks for identity provider table, dialog, and deletion logic
client/src/ee/pages/settings/platform/identity-providers/components/*.tsx React components for identity provider table, dialog, and alert dialogs
client/src/ee/pages/settings/platform/identity-providers/IdentityProvidersPage.tsx Main page component that orchestrates identity provider management UI

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

- Improve email validation to check for text before and after '@'
- Add AbortController with 5s timeout to SSO discovery fetch
- Add last-checked-email ref to prevent duplicate API calls
- Remove unnecessary return event from onBlur handler
- Add onError toast notifications to identity provider mutations
- Require clientSecret when creating new identity providers

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@ivicac ivicac requested a review from kresimir-coko February 13, 2026 22:44
@sonarqubecloud
Copy link

Quality Gate Failed Quality Gate failed for 'client'

Failed conditions
17.8% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant