close
Skip to content

Commit 95f6c2f

Browse files
authored
fix(ui): Add claim name for Custom SAML provider in <ConfigureSSO /> (#8586)
1 parent 3599747 commit 95f6c2f

5 files changed

Lines changed: 43 additions & 8 deletions

File tree

‎.changeset/fancy-zoos-mate.md‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
'@clerk/localizations': patch
3+
'@clerk/clerk-js': patch
4+
'@clerk/shared': patch
5+
'@clerk/ui': patch
6+
---
7+
8+
Fix attribute statement section in `<ConfigureSSO />` with claim name for Custom SAML provider

‎packages/localizations/src/en-US.ts‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,7 @@ export const enUS: LocalizationResource = {
358358
columns: {
359359
attribute: 'Attribute',
360360
claimName: 'Claim Name',
361+
claimValue: 'Claim Value',
361362
},
362363
badges: {
363364
required: 'Required',
@@ -366,15 +367,15 @@ export const enUS: LocalizationResource = {
366367
rows: {
367368
email: {
368369
attribute: 'Email address',
369-
claim: 'user.email',
370+
claim: 'mail',
370371
},
371372
firstName: {
372373
attribute: 'First Name',
373-
claim: 'user.firstName',
374+
claim: 'firstName',
374375
},
375376
lastName: {
376377
attribute: 'Last Name',
377-
claim: 'user.lastName',
378+
claim: 'lastName',
378379
},
379380
},
380381
},

‎packages/shared/src/types/localization.ts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1415,6 +1415,7 @@ export type __internal_LocalizationResource = {
14151415
columns: {
14161416
attribute: LocalizationValue;
14171417
claimName: LocalizationValue;
1418+
claimValue: LocalizationValue;
14181419
};
14191420
badges: {
14201421
required: LocalizationValue;

‎packages/ui/src/components/ConfigureSSO/steps/ConfigureStep.tsx‎

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,18 +113,25 @@ const ATTRIBUTE_ROWS = [
113113
isRequired: true,
114114
attribute: localizationKeys('configureSSO.configureStep.attributeMapping.rows.email.attribute'),
115115
claim: localizationKeys('configureSSO.configureStep.attributeMapping.rows.email.claim'),
116+
oktaClaimValue: localizationKeys('configureSSO.configureStep.samlOkta.configureAttributes.pairs.email.expression'),
116117
},
117118
{
118119
id: 'firstName',
119120
isRequired: false,
120121
attribute: localizationKeys('configureSSO.configureStep.attributeMapping.rows.firstName.attribute'),
121122
claim: localizationKeys('configureSSO.configureStep.attributeMapping.rows.firstName.claim'),
123+
oktaClaimValue: localizationKeys(
124+
'configureSSO.configureStep.samlOkta.configureAttributes.pairs.firstName.expression',
125+
),
122126
},
123127
{
124128
id: 'lastName',
125129
isRequired: false,
126130
attribute: localizationKeys('configureSSO.configureStep.attributeMapping.rows.lastName.attribute'),
127131
claim: localizationKeys('configureSSO.configureStep.attributeMapping.rows.lastName.claim'),
132+
oktaClaimValue: localizationKeys(
133+
'configureSSO.configureStep.samlOkta.configureAttributes.pairs.lastName.expression',
134+
),
128135
},
129136
] as const;
130137

@@ -328,6 +335,7 @@ export const ConfigureAttributesSubStep = (): JSX.Element => {
328335
const { goNext, goPrev, isFirstStep, isLastStep } = useWizard();
329336

330337
const { provider } = useConfigureSSO();
338+
const isOkta = provider === 'saml_okta';
331339

332340
return (
333341
<>
@@ -363,6 +371,17 @@ export const ConfigureAttributesSubStep = (): JSX.Element => {
363371
localizationKey={localizationKeys('configureSSO.configureStep.attributeMapping.columns.claimName')}
364372
/>
365373
</Th>
374+
375+
{isOkta && (
376+
<Th>
377+
<Text
378+
sx={theme => ({ fontSize: theme.fontSizes.$xs })}
379+
localizationKey={localizationKeys(
380+
'configureSSO.configureStep.attributeMapping.columns.claimValue',
381+
)}
382+
/>
383+
</Th>
384+
)}
366385
</Tr>
367386
</Thead>
368387

@@ -398,12 +417,22 @@ export const ConfigureAttributesSubStep = (): JSX.Element => {
398417
localizationKey={row.claim}
399418
/>
400419
</Td>
420+
421+
{isOkta && (
422+
<Td>
423+
<Text
424+
as='span'
425+
sx={{ fontFamily: 'monospace' }}
426+
localizationKey={row.oktaClaimValue}
427+
/>
428+
</Td>
429+
)}
401430
</Tr>
402431
))}
403432
</Tbody>
404433
</Table>
405434

406-
{provider === 'saml_okta' && <OktaConfigureAttributesStepContent />}
435+
{isOkta && <OktaConfigureAttributesStepContent />}
407436
</Step.Section>
408437
</Step.Body>
409438

‎packages/ui/src/components/ConfigureSSO/steps/TestConfigurationStep.tsx‎

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,6 @@ export const TestConfigurationStep = (): JSX.Element => {
196196
<Step.Footer.Previous onClick={() => goPrev()} />
197197
<ContinueTestSsoStepButton
198198
enterpriseConnectionId={enterpriseConnection?.id}
199-
isConnectionActive={enterpriseConnection?.active}
200199
onContinue={() => void goNext()}
201200
/>
202201
</Step.Footer>
@@ -207,13 +206,11 @@ export const TestConfigurationStep = (): JSX.Element => {
207206

208207
type ContinueTestSsoStepButtonProps = {
209208
enterpriseConnectionId: string | undefined;
210-
isConnectionActive: boolean | undefined;
211209
onContinue: () => void;
212210
};
213211

214212
const ContinueTestSsoStepButton = ({
215213
enterpriseConnectionId,
216-
isConnectionActive,
217214
onContinue,
218215
}: ContinueTestSsoStepButtonProps): JSX.Element => {
219216
const { user } = useUser();
@@ -252,7 +249,6 @@ const ContinueTestSsoStepButton = ({
252249
<Step.Footer.Continue
253250
onClick={() => void handleContinue()}
254251
isLoading={isValidating}
255-
isDisabled={!enterpriseConnectionId || isConnectionActive}
256252
/>
257253
);
258254
};

0 commit comments

Comments
 (0)