From 64990d09d147a1b02d07d2960795175e49da1cd6 Mon Sep 17 00:00:00 2001 From: mikoto2000 Date: Fri, 2 May 2025 09:22:07 +0000 Subject: [PATCH] Fix not update certificate value when import key. Closes #39094 Signed-off-by: mikoto2000 --- js/apps/admin-ui/src/clients/keys/SamlImportKeyDialog.tsx | 7 ++++++- js/apps/admin-ui/src/clients/keys/SamlKeys.tsx | 1 + js/apps/admin-ui/src/clients/keys/SamlKeysDialog.tsx | 8 ++++---- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/js/apps/admin-ui/src/clients/keys/SamlImportKeyDialog.tsx b/js/apps/admin-ui/src/clients/keys/SamlImportKeyDialog.tsx index 803111b657cb..778fd948016f 100644 --- a/js/apps/admin-ui/src/clients/keys/SamlImportKeyDialog.tsx +++ b/js/apps/admin-ui/src/clients/keys/SamlImportKeyDialog.tsx @@ -11,12 +11,14 @@ import { SamlKeysDialogForm, submitForm } from "./SamlKeysDialog"; type SamlImportKeyDialogProps = { id: string; attr: KeyTypes; + onSubmit: (cert: string) => void; onClose: () => void; }; export const SamlImportKeyDialog = ({ id, attr, + onSubmit, onClose, }: SamlImportKeyDialogProps) => { const { adminClient } = useAdminClient(); @@ -28,11 +30,14 @@ export const SamlImportKeyDialog = ({ const { addAlert, addError } = useAlerts(); const submit = (form: SamlKeysDialogForm) => { - submitForm(adminClient, form, id, attr, (error) => { + submitForm(adminClient, form, id, attr, (certificate, error) => { if (error) { addError("importError", error); } else { addAlert(t("importSuccess"), AlertVariant.success); + if (certificate) { + onSubmit(certificate); + } } }); }; diff --git a/js/apps/admin-ui/src/clients/keys/SamlKeys.tsx b/js/apps/admin-ui/src/clients/keys/SamlKeys.tsx index 5d0bb4ec614f..6afc9b90814a 100644 --- a/js/apps/admin-ui/src/clients/keys/SamlKeys.tsx +++ b/js/apps/admin-ui/src/clients/keys/SamlKeys.tsx @@ -254,6 +254,7 @@ export const SamlKeys = ({ clientId, save }: SamlKeysProps) => { setKeyInfo([{ certificate: cert }])} onClose={() => setImportOpen(undefined)} /> )} diff --git a/js/apps/admin-ui/src/clients/keys/SamlKeysDialog.tsx b/js/apps/admin-ui/src/clients/keys/SamlKeysDialog.tsx index b7ec1994f484..4037ff321567 100644 --- a/js/apps/admin-ui/src/clients/keys/SamlKeysDialog.tsx +++ b/js/apps/admin-ui/src/clients/keys/SamlKeysDialog.tsx @@ -45,7 +45,7 @@ export const submitForm = async ( form: SamlKeysDialogForm, id: string, attr: KeyTypes, - callback: (error?: unknown) => void, + callback: (certificate?: string, error?: unknown) => void, ) => { try { const formData = new FormData(); @@ -58,10 +58,10 @@ export const submitForm = async ( ); formData.append("file", file); - await adminClient.clients.uploadKey({ id, attr }, formData); - callback(); + const result = await adminClient.clients.uploadKey({ id, attr }, formData); + callback(result.certificate); } catch (error) { - callback(error); + callback(undefined, error); } };