@@ -5,13 +5,10 @@ import { useToast } from "@courselit/components-library";
55import { FetchBuilder } from "@courselit/utils" ;
66import {
77 SITE_MISCELLANEOUS_SETTING_HEADER ,
8- // SSO_PROVIDER_CALLBACK_URL_LABEL,
98 SSO_PROVIDER_CERT_LABEL ,
10- // SSO_PROVIDER_DOMAIN_LABEL,
119 SSO_PROVIDER_ENTRY_POINT_LABEL ,
1210 SSO_PROVIDER_IDP_METADATA_LABEL ,
1311 SSO_PROVIDER_HEADER ,
14- SSO_PROVIDER_PROVIDER_ID_LABEL ,
1512 SSO_PROVIDER_SUCCESS_MESSAGE ,
1613 TOAST_TITLE_ERROR ,
1714 TOAST_TITLE_SUCCESS ,
@@ -20,7 +17,6 @@ import {
2017 BUTTON_SAVE ,
2118 SSO_PROVIDER_CARD_HEADER ,
2219 SSO_PROVIDER_CARD_DESCRIPTION ,
23- SSO_PROVIDER_SP_EMTPY ,
2420 SSO_PROVIDER_SP_ACS_LABEL ,
2521 SSO_PROVIDER_SP_ENTITY_ID_LABEL ,
2622} from "@ui-config/strings" ;
@@ -51,7 +47,7 @@ import {
5147 AlertDialogTitle ,
5248 AlertDialogTrigger ,
5349} from "@components/ui/alert-dialog" ;
54- import { Trash2 , Loader2 , Save , Copy , Key } from "lucide-react" ;
50+ import { Trash2 , Loader2 , Save , Copy } from "lucide-react" ;
5551import {
5652 Card ,
5753 CardContent ,
@@ -63,18 +59,9 @@ import {
6359import { Label } from "@components/ui/label" ;
6460
6561const formSchema = z . object ( {
66- providerId : z
67- . string ( )
68- . min ( 1 , "Provider ID is required" )
69- . regex (
70- / ^ [ a - z - 0- 9 ] + $ / ,
71- "Provider ID can only contain lowercase letters and hyphens" ,
72- ) ,
7362 idpMetadata : z . string ( ) . min ( 1 , "IDP Metadata is required" ) ,
74- // domain: z.string().min(1, "Domain is required"),
7563 entryPoint : z . string ( ) . min ( 1 , "Entry Point is required" ) ,
7664 cert : z . string ( ) . min ( 1 , "Certificate is required" ) ,
77- // backend: z.string().min(1, "Callback URL is required"),
7865} ) ;
7966
8067type FormData = z . infer < typeof formSchema > ;
@@ -97,9 +84,7 @@ export default function SSOProvider({ address }: NewSSOProviderProps) {
9784 const form = useForm < FormData > ( {
9885 resolver : zodResolver ( formSchema ) ,
9986 defaultValues : {
100- providerId : "" ,
10187 idpMetadata : "" ,
102- // domain: "",
10388 entryPoint : "" ,
10489 cert : "" ,
10590 } ,
@@ -110,7 +95,6 @@ export default function SSOProvider({ address }: NewSSOProviderProps) {
11095 const query = `
11196 query {
11297 ssoProvider: getSSOProviderSettings {
113- providerId
11498 idpMetadata
11599 entryPoint
116100 cert
@@ -126,7 +110,6 @@ export default function SSOProvider({ address }: NewSSOProviderProps) {
126110 const response = await fetcher . exec ( ) ;
127111 const { ssoProvider } = response ;
128112 if ( ssoProvider ) {
129- form . setValue ( "providerId" , ssoProvider . providerId ) ;
130113 form . setValue ( "idpMetadata" , ssoProvider . idpMetadata ) ;
131114 form . setValue ( "entryPoint" , ssoProvider . entryPoint ) ;
132115 form . setValue ( "cert" , ssoProvider . cert ) ;
@@ -147,13 +130,11 @@ export default function SSOProvider({ address }: NewSSOProviderProps) {
147130 const query = `
148131 mutation (
149132 $idpMetadata: String!,
150- $providerId: String!,
151133 $entryPoint: String!,
152134 $cert: String!,
153135 $backend: String!
154136 ) {
155137 ssoProvider: updateSSOProvider(
156- providerId: $providerId
157138 idpMetadata: $idpMetadata,
158139 entryPoint: $entryPoint,
159140 cert: $cert,
@@ -264,11 +245,11 @@ export default function SSOProvider({ address }: NewSSOProviderProps) {
264245 >
265246 < FormField
266247 control = { form . control }
267- name = "providerId "
248+ name = "entryPoint "
268249 render = { ( { field } ) => (
269250 < FormItem >
270251 < FormLabel >
271- { SSO_PROVIDER_PROVIDER_ID_LABEL }
252+ { SSO_PROVIDER_ENTRY_POINT_LABEL }
272253 </ FormLabel >
273254 < FormControl >
274255 < Input { ...field } />
@@ -297,36 +278,6 @@ export default function SSOProvider({ address }: NewSSOProviderProps) {
297278 </ FormItem >
298279 ) }
299280 />
300- { /* <FormField
301- control={form.control}
302- name="domain"
303- render={({ field }) => (
304- <FormItem>
305- <FormLabel>
306- {SSO_PROVIDER_DOMAIN_LABEL}
307- </FormLabel>
308- <FormControl>
309- <Input {...field} />
310- </FormControl>
311- <FormMessage />
312- </FormItem>
313- )}
314- /> */ }
315- < FormField
316- control = { form . control }
317- name = "entryPoint"
318- render = { ( { field } ) => (
319- < FormItem >
320- < FormLabel >
321- { SSO_PROVIDER_ENTRY_POINT_LABEL }
322- </ FormLabel >
323- < FormControl >
324- < Input { ...field } />
325- </ FormControl >
326- < FormMessage />
327- </ FormItem >
328- ) }
329- />
330281 < FormField
331282 control = { form . control }
332283 name = "cert"
@@ -345,21 +296,6 @@ export default function SSOProvider({ address }: NewSSOProviderProps) {
345296 </ FormItem >
346297 ) }
347298 />
348- { /* <FormField
349- control={form.control}
350- name="backend"
351- render={({ field }) => (
352- <FormItem>
353- <FormLabel>
354- {SSO_PROVIDER_CALLBACK_URL_LABEL}
355- </FormLabel>
356- <FormControl>
357- <Input {...field} />
358- </FormControl>
359- <FormMessage />
360- </FormItem>
361- )}
362- /> */ }
363299 < div >
364300 < Button type = "submit" disabled = { loading } >
365301 < Save className = "mr-2 h-4 w-4" />
@@ -437,59 +373,50 @@ export default function SSOProvider({ address }: NewSSOProviderProps) {
437373 </ CardDescription >
438374 </ CardHeader >
439375 < CardContent >
440- { ! providerId ? (
441- < div className = "flex flex-col items-center justify-center py-8 text-muted-foreground" >
442- < Key className = "h-8 w-8 mb-2 opacity-50" />
443- < p > { SSO_PROVIDER_SP_EMTPY } </ p >
444- </ div >
445- ) : (
446- < >
447- < div >
448- < Label > { SSO_PROVIDER_SP_ACS_LABEL } </ Label >
449- < div className = "flex gap-2" >
450- < Input
451- type = "text"
452- disabled = { true }
453- value = { `${ address . backend } /api/auth/sso/saml2/sp/acs/${ providerId } ` }
454- />
455- < Button
456- variant = "outline"
457- size = "icon"
458- onClick = { ( ) =>
459- copyToClipboard (
460- `${ address . backend } /api/auth/sso/saml2/sp/acs/${ providerId } ` ,
461- )
462- }
463- >
464- < Copy className = "h-4 w-4" />
465- </ Button >
466- </ div >
376+ < >
377+ < div >
378+ < Label > { SSO_PROVIDER_SP_ACS_LABEL } </ Label >
379+ < div className = "flex gap-2" >
380+ < Input
381+ type = "text"
382+ disabled = { true }
383+ value = { `${ address . backend } /api/auth/sso/saml2/sp/acs/sso` }
384+ />
385+ < Button
386+ variant = "outline"
387+ size = "icon"
388+ onClick = { ( ) =>
389+ copyToClipboard (
390+ `${ address . backend } /api/auth/sso/saml2/sp/acs/sso` ,
391+ )
392+ }
393+ >
394+ < Copy className = "h-4 w-4" />
395+ </ Button >
467396 </ div >
468- < div >
469- < Label >
470- { SSO_PROVIDER_SP_ENTITY_ID_LABEL }
471- </ Label >
472- < div className = "flex gap-2" >
473- < Input
474- type = "text"
475- disabled = { true }
476- value = { `${ address . backend } /api/auth/sso/saml2/sp/metadata?providerId=${ providerId } ` }
477- />
478- < Button
479- variant = "outline"
480- size = "icon"
481- onClick = { ( ) =>
482- copyToClipboard (
483- `${ address . backend } /api/auth/sso/saml2/sp/metadata?providerId=${ providerId } ` ,
484- )
485- }
486- >
487- < Copy className = "h-4 w-4" />
488- </ Button >
489- </ div >
397+ </ div >
398+ < div >
399+ < Label > { SSO_PROVIDER_SP_ENTITY_ID_LABEL } </ Label >
400+ < div className = "flex gap-2" >
401+ < Input
402+ type = "text"
403+ disabled = { true }
404+ value = { `${ address . backend } /api/auth/sso/saml2/sp/metadata?providerId=sso` }
405+ />
406+ < Button
407+ variant = "outline"
408+ size = "icon"
409+ onClick = { ( ) =>
410+ copyToClipboard (
411+ `${ address . backend } /api/auth/sso/saml2/sp/metadata?providerId=sso` ,
412+ )
413+ }
414+ >
415+ < Copy className = "h-4 w-4" />
416+ </ Button >
490417 </ div >
491- </ >
492- ) }
418+ </ div >
419+ </ >
493420 </ CardContent >
494421 </ Card >
495422 </ div >
0 commit comments