From 80ebe7c16ab6359f737fc40f5a184c257e00e847 Mon Sep 17 00:00:00 2001 From: Timofey Boyko Date: Fri, 8 Dec 2023 11:55:02 +0300 Subject: [PATCH] Client:PortalSettings:OAuth2: enable allowed origins for edit, fix error translation --- packages/client/public/locales/en/OAuth.json | 2 +- .../ClientForm/components/BasicBlock.tsx | 2 +- .../ClientForm/components/MultiInputGroup.tsx | 2 +- .../ClientForm/components/OAuthBlock.tsx | 1 - .../ClientForm/components/SupportBlock.tsx | 4 +-- .../OAuth/sub-components/ClientForm/index.tsx | 28 +++++++++++++++---- 6 files changed, 28 insertions(+), 11 deletions(-) diff --git a/packages/client/public/locales/en/OAuth.json b/packages/client/public/locales/en/OAuth.json index 730eb08bdf..39ab54c741 100644 --- a/packages/client/public/locales/en/OAuth.json +++ b/packages/client/public/locales/en/OAuth.json @@ -20,7 +20,7 @@ "EditApp": "Edit application", "EnterDescription": "Enter description", "ErrorName": "Minimal name length:", - "ErrorWrongURL": "Wrong URL", + "ErrorWrongURL": "URL not valid, example", "EnterURL": "Enter URL", "IconDescription": "JPG, PNG or SVG, 32x32", "ID": "ID", diff --git a/packages/client/src/pages/PortalSettings/categories/developer-tools/OAuth/sub-components/ClientForm/components/BasicBlock.tsx b/packages/client/src/pages/PortalSettings/categories/developer-tools/OAuth/sub-components/ClientForm/components/BasicBlock.tsx index ba33dc9da8..742f1e43d4 100644 --- a/packages/client/src/pages/PortalSettings/categories/developer-tools/OAuth/sub-components/ClientForm/components/BasicBlock.tsx +++ b/packages/client/src/pages/PortalSettings/categories/developer-tools/OAuth/sub-components/ClientForm/components/BasicBlock.tsx @@ -153,7 +153,7 @@ const BasicBlock = ({ name={"website_url"} placeholder={t("EnterURL")} value={websiteUrlValue} - error={`${t("ErrorWrongURL")}`} + error={`${t("ErrorWrongURL")}: ${window.location.origin}`} onChange={onChange} disabled={isEdit} isRequired diff --git a/packages/client/src/pages/PortalSettings/categories/developer-tools/OAuth/sub-components/ClientForm/components/MultiInputGroup.tsx b/packages/client/src/pages/PortalSettings/categories/developer-tools/OAuth/sub-components/ClientForm/components/MultiInputGroup.tsx index 619563cc68..34dc4380ca 100644 --- a/packages/client/src/pages/PortalSettings/categories/developer-tools/OAuth/sub-components/ClientForm/components/MultiInputGroup.tsx +++ b/packages/client/src/pages/PortalSettings/categories/developer-tools/OAuth/sub-components/ClientForm/components/MultiInputGroup.tsx @@ -74,7 +74,7 @@ const MultiInputGroup = ({ value={value} placeholder={placeholder} onChange={onChange} - error={t("ErrorWrongURL")} + error={`${t("ErrorWrongURL")}: ${window.location.origin}`} isRequired isError={isError} > diff --git a/packages/client/src/pages/PortalSettings/categories/developer-tools/OAuth/sub-components/ClientForm/components/OAuthBlock.tsx b/packages/client/src/pages/PortalSettings/categories/developer-tools/OAuth/sub-components/ClientForm/components/OAuthBlock.tsx index b402f301ea..236b6a06e5 100644 --- a/packages/client/src/pages/PortalSettings/categories/developer-tools/OAuth/sub-components/ClientForm/components/OAuthBlock.tsx +++ b/packages/client/src/pages/PortalSettings/categories/developer-tools/OAuth/sub-components/ClientForm/components/OAuthBlock.tsx @@ -46,7 +46,6 @@ const OAuthBlock = ({ onAdd={changeValue} currentValue={allowedOriginsValue} helpButtonText={t("AllowedOriginsHelpButton")} - isDisabled={isEdit} /> diff --git a/packages/client/src/pages/PortalSettings/categories/developer-tools/OAuth/sub-components/ClientForm/components/SupportBlock.tsx b/packages/client/src/pages/PortalSettings/categories/developer-tools/OAuth/sub-components/ClientForm/components/SupportBlock.tsx index 3ad25c0b4e..35e0581d4d 100644 --- a/packages/client/src/pages/PortalSettings/categories/developer-tools/OAuth/sub-components/ClientForm/components/SupportBlock.tsx +++ b/packages/client/src/pages/PortalSettings/categories/developer-tools/OAuth/sub-components/ClientForm/components/SupportBlock.tsx @@ -43,7 +43,7 @@ const SupportBlock = ({ name={"policy_url"} placeholder={t("EnterURL")} value={policyUrlValue} - error={t("ErrorWrongURL")} + error={`${t("ErrorWrongURL")}: ${window.location.origin}`} onChange={onChange} helpButtonText={t("PrivacyPolicyURLHelpButton")} disabled={isEdit} @@ -56,7 +56,7 @@ const SupportBlock = ({ name={"terms_url"} placeholder={t("EnterURL")} value={termsUrlValue} - error={t("ErrorWrongURL")} + error={`${t("ErrorWrongURL")}: ${window.location.origin}`} onChange={onChange} helpButtonText={t("TermsOfServiceURLHelpButton")} disabled={isEdit} diff --git a/packages/client/src/pages/PortalSettings/categories/developer-tools/OAuth/sub-components/ClientForm/index.tsx b/packages/client/src/pages/PortalSettings/categories/developer-tools/OAuth/sub-components/ClientForm/index.tsx index 0ea03e3f38..2220a2b9ca 100644 --- a/packages/client/src/pages/PortalSettings/categories/developer-tools/OAuth/sub-components/ClientForm/index.tsx +++ b/packages/client/src/pages/PortalSettings/categories/developer-tools/OAuth/sub-components/ClientForm/index.tsx @@ -156,10 +156,16 @@ const ClientForm = ({ website_url: fetchedClient?.websiteUrl || client?.websiteUrl || "", description: fetchedClient?.description || client?.description || "", - redirect_uris: - fetchedClient?.redirectUris || client?.redirectUris || [], - allowed_origins: - fetchedClient?.allowedOrigins || client?.allowedOrigins || [], + redirect_uris: fetchedClient?.redirectUris + ? [...fetchedClient?.redirectUris] + : client?.redirectUris + ? [...client?.redirectUris] + : [], + allowed_origins: fetchedClient?.allowedOrigins + ? [...fetchedClient.allowedOrigins] + : client?.allowedOrigins + ? [...client.allowedOrigins] + : [], logout_redirect_uri: fetchedClient?.logoutRedirectUri || client?.logoutRedirectUri || "", @@ -173,7 +179,11 @@ const ClientForm = ({ client?.authenticationMethods.includes(AuthenticationMethod.none) || false, - scopes: fetchedClient?.scopes || client?.scopes || [], + scopes: fetchedClient?.scopes + ? [...fetchedClient.scopes] + : client?.scopes + ? [...client.scopes] + : [], }); setClientId(fetchedClient?.clientId || client?.clientId || ""); @@ -257,13 +267,21 @@ const ClientForm = ({ } } + console.log( + isValid, + form?.allowed_origins?.length, + initialClient?.allowedOrigins?.length + ); + return ( isValid && form.name && form.logo && + form.allowed_origins.length > 0 && (form.name !== initialClient.name || form.logo !== initialClient.logo || form.description !== initialClient.description || + form.allowed_origins.length !== initialClient.allowedOrigins.length || form.allow_pkce !== initialClient.authenticationMethods.includes( AuthenticationMethod.none