import { Button, FormControlLabel, Grid, Switch } from '@mui/material'; import { Alert } from '@mui/material'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; import { ScimTokenGenerationDialog } from './ScimTokenGenerationDialog'; import { ScimTokenDialog } from './ScimTokenDialog'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import type { ScimSettings } from 'hooks/api/getters/useScimSettings/useScimSettings'; export interface IScimSettingsParameters { disabled: boolean; loading: boolean; enabled: boolean; setEnabled: React.Dispatch>; assumeControlOfExisting: boolean; setAssumeControlOfExisting: React.Dispatch>; newToken: string; settings: ScimSettings; tokenGenerationDialog: boolean; setTokenGenerationDialog: React.Dispatch>; onGenerateNewTokenConfirm: () => void; tokenDialog: boolean; setTokenDialog: React.Dispatch>; } export const ScimConfigSettings = ({ disabled, loading, enabled, setEnabled, assumeControlOfExisting, setAssumeControlOfExisting, newToken, settings, tokenGenerationDialog, setTokenGenerationDialog, onGenerateNewTokenConfirm, tokenDialog, setTokenDialog, }: IScimSettingsParameters) => { const { uiConfig } = useUiConfig(); const onGenerateNewToken = async () => { setTokenGenerationDialog(true); }; return ( <>

SCIM Provisioning

Please read the{' '} documentation {' '} to learn how to integrate with specific SCIM clients (Microsoft Entra, Okta, etc).
SCIM API URL: {uiConfig.unleashUrl}/scim
Enable

Enable SCIM provisioning.

setEnabled(enabled)} value={enabled} name='enabled' checked={enabled} disabled={disabled} /> } label={enabled ? 'Enabled' : 'Disabled'} />
Assume control

Assumes control of users and groups

setAssumeControlOfExisting(set_enabled) } value={assumeControlOfExisting} name='assumeControlOfExisting' checked={assumeControlOfExisting} disabled={disabled} /> } label={assumeControlOfExisting ? 'Enabled' : 'Disabled'} />
Generate new token } /> ); };