PropertyDefinition.builder(GROUP_NAME_ATTRIBUTE)
.name("SAML group attribute")
.description("Attribute defining the user groups in SAML, used to synchronize group memberships. If you leave this field empty, " +
- "group memberships are managed locally by SonarQube administrators.")
+ "group memberships will not be synced when users log in.")
.category(CATEGORY)
.subCategory(SUBCATEGORY)
.index(10)
} from '../../../../queries/identity-provider';
import { useSaveValueMutation } from '../../../../queries/settings';
import { ExtendedSettingDefinition } from '../../../../types/settings';
-import { getPropertyName } from '../../utils';
-import DefinitionDescription from '../DefinitionDescription';
import ConfigurationForm from './ConfigurationForm';
import useSamlConfiguration, {
SAML_ENABLED_FIELD,
- SAML_GROUP_NAME,
SAML_SCIM_DEPRECATED,
} from './hook/useSamlConfiguration';
export const SAML = 'saml';
const CONFIG_TEST_PATH = '/saml/validation_init';
-const SAML_EXCLUDED_FIELD = [SAML_ENABLED_FIELD, SAML_GROUP_NAME, SAML_SCIM_DEPRECATED];
+const SAML_EXCLUDED_FIELD = [SAML_ENABLED_FIELD, SAML_SCIM_DEPRECATED];
export default function SamlAuthenticationTab(props: SamlAuthenticationProps) {
const { definitions } = props;
<p>
{translate('settings.authentication.saml.form.provisioning_at_login.sub')}
</p>
- {groupValue && (
- <div className="settings-definition">
- <DefinitionDescription definition={groupValue.definition} />
- <div className="settings-definition-right">
- <input
- id={groupValue.definition.key}
- maxLength={4000}
- name={groupValue.definition.key}
- onChange={(e) => setNewGroupSetting(e.currentTarget.value)}
- type="text"
- value={String(groupValue.newValue ?? groupValue.value ?? '')}
- aria-label={getPropertyName(groupValue.definition)}
- />
- </div>
- </div>
- )}
</RadioCard>
</div>
) : (
saveConfigButton: byRole('button', { name: 'settings.almintegration.form.save' }),
confirmProvisioningButton: byRole('button', { name: 'yes' }),
saveScim: byRole('button', { name: 'save' }),
- groupAttribute: byRole('textbox', { name: 'property.sonar.auth.saml.group.name.name' }),
enableConfigButton: byRole('button', { name: 'settings.authentication.form.enable' }),
disableConfigButton: byRole('button', { name: 'settings.authentication.form.disable' }),
editConfigButton: byRole('button', { name: 'settings.authentication.form.edit' }),
await user.click(await saml.enableConfigButton.find());
expect(await saml.jitProvisioningButton.find()).toBeChecked();
-
- await user.type(saml.groupAttribute.get(), 'group');
- expect(saml.saveScim.get()).toBeEnabled();
- await user.click(saml.saveScim.get());
- await waitFor(() => expect(saml.saveScim.query()).toBeDisabled());
+ expect(saml.saveScim.get()).toBeDisabled();
await user.click(saml.scimProvisioningButton.get());
expect(saml.saveScim.get()).toBeEnabled();