## What it does ### Backend - [x] Add a mutation to create OIDC and SAML configuration - [x] Add a mutation to delete an SSO config - [x] Add a feature flag to toggle SSO - [x] Add a mutation to activate/deactivate an SSO config - [x] Add a mutation to delete an SSO config - [x] Add strategy to use OIDC or SAML - [ ] Improve error management ### Frontend - [x] Add section "security" in settings - [x] Add page to list SSO configurations - [x] Add page and forms to create OIDC or SAML configuration - [x] Add field to "connect with SSO" in the signin/signup process - [x] Trigger auth when a user switch to a workspace with SSO enable - [x] 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) --------- Co-authored-by: Félix Malfait <felix@twenty.com> Co-authored-by: Charles Bochet <charles@twenty.com>
30 lines
1021 B
TypeScript
30 lines
1021 B
TypeScript
import { useCreateAppRouter } from '@/app/hooks/useCreateAppRouter';
|
|
import { billingState } from '@/client-config/states/billingState';
|
|
import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled';
|
|
import { RouterProvider } from 'react-router-dom';
|
|
import { useRecoilValue } from 'recoil';
|
|
|
|
export const AppRouter = () => {
|
|
const billing = useRecoilValue(billingState);
|
|
const isFreeAccessEnabled = useIsFeatureEnabled('IS_FREE_ACCESS_ENABLED');
|
|
const isCRMMigrationEnabled = useIsFeatureEnabled('IS_CRM_MIGRATION_ENABLED');
|
|
const isSSOEnabled = useIsFeatureEnabled('IS_SSO_ENABLED');
|
|
const isServerlessFunctionSettingsEnabled = useIsFeatureEnabled(
|
|
'IS_FUNCTION_SETTINGS_ENABLED',
|
|
);
|
|
|
|
const isBillingPageEnabled =
|
|
billing?.isBillingEnabled && !isFreeAccessEnabled;
|
|
|
|
return (
|
|
<RouterProvider
|
|
router={useCreateAppRouter(
|
|
isBillingPageEnabled,
|
|
isCRMMigrationEnabled,
|
|
isServerlessFunctionSettingsEnabled,
|
|
isSSOEnabled,
|
|
)}
|
|
/>
|
|
);
|
|
};
|