From 7677328de861488b45ce66ac59e50e052004b5be Mon Sep 17 00:00:00 2001 From: Laura Beatris Date: Mon, 18 May 2026 15:38:54 -0300 Subject: [PATCH 1/3] Display only claim value for custom SAML --- packages/localizations/src/en-US.ts | 7 +++-- packages/shared/src/types/localization.ts | 1 + .../ConfigureSSO/steps/ConfigureStep.tsx | 31 ++++++++++++++++++- 3 files changed, 35 insertions(+), 4 deletions(-) diff --git a/packages/localizations/src/en-US.ts b/packages/localizations/src/en-US.ts index 2435fe52c8a..a9a83381088 100644 --- a/packages/localizations/src/en-US.ts +++ b/packages/localizations/src/en-US.ts @@ -358,6 +358,7 @@ export const enUS: LocalizationResource = { columns: { attribute: 'Attribute', claimName: 'Claim Name', + claimValue: 'Claim Value', }, badges: { required: 'Required', @@ -366,15 +367,15 @@ export const enUS: LocalizationResource = { rows: { email: { attribute: 'Email address', - claim: 'user.email', + claim: 'mail', }, firstName: { attribute: 'First Name', - claim: 'user.firstName', + claim: 'firstName', }, lastName: { attribute: 'Last Name', - claim: 'user.lastName', + claim: 'lastName', }, }, }, diff --git a/packages/shared/src/types/localization.ts b/packages/shared/src/types/localization.ts index 6c0352c4a68..db7df988428 100644 --- a/packages/shared/src/types/localization.ts +++ b/packages/shared/src/types/localization.ts @@ -1415,6 +1415,7 @@ export type __internal_LocalizationResource = { columns: { attribute: LocalizationValue; claimName: LocalizationValue; + claimValue: LocalizationValue; }; badges: { required: LocalizationValue; diff --git a/packages/ui/src/components/ConfigureSSO/steps/ConfigureStep.tsx b/packages/ui/src/components/ConfigureSSO/steps/ConfigureStep.tsx index d5c126febec..8ef453f7369 100644 --- a/packages/ui/src/components/ConfigureSSO/steps/ConfigureStep.tsx +++ b/packages/ui/src/components/ConfigureSSO/steps/ConfigureStep.tsx @@ -113,18 +113,25 @@ const ATTRIBUTE_ROWS = [ isRequired: true, attribute: localizationKeys('configureSSO.configureStep.attributeMapping.rows.email.attribute'), claim: localizationKeys('configureSSO.configureStep.attributeMapping.rows.email.claim'), + oktaClaimValue: localizationKeys('configureSSO.configureStep.samlOkta.configureAttributes.pairs.email.expression'), }, { id: 'firstName', isRequired: false, attribute: localizationKeys('configureSSO.configureStep.attributeMapping.rows.firstName.attribute'), claim: localizationKeys('configureSSO.configureStep.attributeMapping.rows.firstName.claim'), + oktaClaimValue: localizationKeys( + 'configureSSO.configureStep.samlOkta.configureAttributes.pairs.firstName.expression', + ), }, { id: 'lastName', isRequired: false, attribute: localizationKeys('configureSSO.configureStep.attributeMapping.rows.lastName.attribute'), claim: localizationKeys('configureSSO.configureStep.attributeMapping.rows.lastName.claim'), + oktaClaimValue: localizationKeys( + 'configureSSO.configureStep.samlOkta.configureAttributes.pairs.lastName.expression', + ), }, ] as const; @@ -328,6 +335,7 @@ export const ConfigureAttributesSubStep = (): JSX.Element => { const { goNext, goPrev, isFirstStep, isLastStep } = useWizard(); const { provider } = useConfigureSSO(); + const isOkta = provider === 'saml_okta'; return ( <> @@ -363,6 +371,17 @@ export const ConfigureAttributesSubStep = (): JSX.Element => { localizationKey={localizationKeys('configureSSO.configureStep.attributeMapping.columns.claimName')} /> + + {isOkta && ( + + ({ fontSize: theme.fontSizes.$xs })} + localizationKey={localizationKeys( + 'configureSSO.configureStep.attributeMapping.columns.claimValue', + )} + /> + + )} @@ -398,12 +417,22 @@ export const ConfigureAttributesSubStep = (): JSX.Element => { localizationKey={row.claim} /> + + {isOkta && ( + + + + )} ))} - {provider === 'saml_okta' && } + {isOkta && } From 5d1d4ed5f143282a9c44220c75f5adc6221ca8dd Mon Sep 17 00:00:00 2001 From: Laura Beatris Date: Mon, 18 May 2026 15:39:07 -0300 Subject: [PATCH 2/3] Do not disable continue on test step --- .../src/components/ConfigureSSO/steps/TestConfigurationStep.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/ui/src/components/ConfigureSSO/steps/TestConfigurationStep.tsx b/packages/ui/src/components/ConfigureSSO/steps/TestConfigurationStep.tsx index 7b9f115355d..f7ef9580cb4 100644 --- a/packages/ui/src/components/ConfigureSSO/steps/TestConfigurationStep.tsx +++ b/packages/ui/src/components/ConfigureSSO/steps/TestConfigurationStep.tsx @@ -252,7 +252,6 @@ const ContinueTestSsoStepButton = ({ void handleContinue()} isLoading={isValidating} - isDisabled={!enterpriseConnectionId || isConnectionActive} /> ); }; From 0a8f3f36c25fdddba4c28be4af4fb0db72ee0198 Mon Sep 17 00:00:00 2001 From: Laura Beatris Date: Mon, 18 May 2026 15:42:30 -0300 Subject: [PATCH 3/3] Add changeset --- .changeset/fancy-zoos-mate.md | 8 ++++++++ .../ConfigureSSO/steps/TestConfigurationStep.tsx | 3 --- 2 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 .changeset/fancy-zoos-mate.md diff --git a/.changeset/fancy-zoos-mate.md b/.changeset/fancy-zoos-mate.md new file mode 100644 index 00000000000..f3744bca5ac --- /dev/null +++ b/.changeset/fancy-zoos-mate.md @@ -0,0 +1,8 @@ +--- +'@clerk/localizations': patch +'@clerk/clerk-js': patch +'@clerk/shared': patch +'@clerk/ui': patch +--- + +Fix attribute statement section in `` with claim name for Custom SAML provider diff --git a/packages/ui/src/components/ConfigureSSO/steps/TestConfigurationStep.tsx b/packages/ui/src/components/ConfigureSSO/steps/TestConfigurationStep.tsx index f7ef9580cb4..6e4aa5f38b2 100644 --- a/packages/ui/src/components/ConfigureSSO/steps/TestConfigurationStep.tsx +++ b/packages/ui/src/components/ConfigureSSO/steps/TestConfigurationStep.tsx @@ -196,7 +196,6 @@ export const TestConfigurationStep = (): JSX.Element => { goPrev()} /> void goNext()} /> @@ -207,13 +206,11 @@ export const TestConfigurationStep = (): JSX.Element => { type ContinueTestSsoStepButtonProps = { enterpriseConnectionId: string | undefined; - isConnectionActive: boolean | undefined; onContinue: () => void; }; const ContinueTestSsoStepButton = ({ enterpriseConnectionId, - isConnectionActive, onContinue, }: ContinueTestSsoStepButtonProps): JSX.Element => { const { user } = useUser();