Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(sso): allow to use OIDC and SAML #7246

Merged
merged 49 commits into from
Oct 21, 2024
Merged

Conversation

AMoreaux
Copy link
Contributor

@AMoreaux AMoreaux commented Sep 25, 2024

What it does

Backend

  • Add a mutation to create OIDC and SAML configuration
  • Add a mutation to delete an SSO config
  • Add a feature flag to toggle SSO
  • Add a mutation to activate/deactivate an SSO config
  • Add a mutation to delete an SSO config
  • Add strategy to use OIDC or SAML
  • Improve error management

Frontend

  • Add section "security" in settings
  • Add page to list SSO configurations
  • Add page and forms to create OIDC or SAML configuration
  • Add field to "connect with SSO" in the signin/signup process
  • Trigger auth when a user switch to a workspace with SSO enable
  • Add an option on the security page to activate/deactivate the global invitation link
  • Add new Icons for SSO Identity Providers (okta, Auth0, Azure, Microsoft)

@AMoreaux AMoreaux changed the title feat(sso): allow to login with OIDC and SAML feat(sso): allow to use with OIDC and SAML Sep 25, 2024
@AMoreaux AMoreaux changed the title feat(sso): allow to use with OIDC and SAML feat(sso): allow to use OIDC and SAML Sep 25, 2024
@AMoreaux AMoreaux force-pushed the feat/sso branch 4 times, most recently from b36df35 to 1002d06 Compare September 27, 2024 15:14
return await createOidcIdentityProviderMutation({
variables: { input },
onCompleted: (data) => {
setSSOIdentitiesProviders((existingProvider) => [
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@charlesBochet do you have an idea why this call does not refresh the list of providers used in the component SettingsSSOIdentitiesProvidersListCard.tsx

Copy link
Member

Choose a reason for hiding this comment

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

not sure, let's investigate together tomorrow

@AMoreaux AMoreaux force-pushed the feat/sso branch 3 times, most recently from f20766c to abedc1e Compare October 8, 2024 14:46
@AMoreaux AMoreaux changed the title feat(sso): allow to use OIDC and SAML feat(sso): allow to use OIDC and SAML - Milestone 1 Oct 8, 2024
@AMoreaux AMoreaux marked this pull request as ready for review October 8, 2024 14:48
Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

PR Summary

This pull request introduces Single Sign-On (SSO) functionality to the application, supporting both OIDC and SAML protocols. The changes focus on implementing SSO management in the settings area.

  • Added new SettingsSSOIdentitiesProvidersForm component for configuring SSO providers
  • Implemented GraphQL mutations and queries for CRUD operations on SSO providers
  • Created utility functions for parsing SAML metadata and determining SSO provider icons
  • Added new IS_SSO_ENABLED feature flag to control SSO functionality across the app
  • Integrated SSO settings into existing navigation and routing components

30 file(s) reviewed, 22 comment(s)
Edit PR Review Bot Settings

@charlesBochet
Copy link
Member

@AMoreaux could you merge main into your branch and make sure the CIs are green? :)

@@ -77,6 +77,7 @@ const StyledButton = styled.button<
justify-content: center;
outline: none;
padding: ${({ theme }) => theme.spacing(2)} ${({ theme }) => theme.spacing(3)};
max-height: ${({ theme }) => theme.spacing(8)};
Copy link
Member

Choose a reason for hiding this comment

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

not sure this one is useful!

Copy link
Member

@charlesBochet charlesBochet left a comment

Choose a reason for hiding this comment

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

Congratulations, this is very clean!
Thanks for all the refactoring effort on the FE

@charlesBochet charlesBochet merged commit 0f0a796 into twentyhq:main Oct 21, 2024
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants