From 02d86d1d8f5eec608a58c4aa764e55dd810673ff Mon Sep 17 00:00:00 2001 From: Erik Jan de Wit Date: Tue, 30 Jan 2024 10:49:39 +0100 Subject: [PATCH] removed revocation (#26459) fixes: #17734 Signed-off-by: Erik Jan de Wit --- .../client_details/tabs/AdvancedTab.ts | 38 ----- .../admin/messages/messages_en.properties | 6 - js/apps/admin-ui/src/clients/AdvancedTab.tsx | 6 - .../src/clients/advanced/RevocationPanel.tsx | 134 ------------------ 4 files changed, 184 deletions(-) delete mode 100644 js/apps/admin-ui/src/clients/advanced/RevocationPanel.tsx diff --git a/js/apps/admin-ui/cypress/support/pages/admin-ui/manage/clients/client_details/tabs/AdvancedTab.ts b/js/apps/admin-ui/cypress/support/pages/admin-ui/manage/clients/client_details/tabs/AdvancedTab.ts index c8e604bd00..29b29c1504 100644 --- a/js/apps/admin-ui/cypress/support/pages/admin-ui/manage/clients/client_details/tabs/AdvancedTab.ts +++ b/js/apps/admin-ui/cypress/support/pages/admin-ui/manage/clients/client_details/tabs/AdvancedTab.ts @@ -1,11 +1,6 @@ import PageObject from "../../../../components/PageObject"; export default class AdvancedTab extends PageObject { - #setToNowBtn = "#setToNow"; - #clearBtn = "#clear"; - #pushBtn = "#push"; - #notBeforeInput = "#kc-not-before"; - #clusterNodesExpandBtn = ".pf-c-expandable-section .pf-c-expandable-section__toggle"; #testClusterAvailability = "#testClusterAvailability"; @@ -48,39 +43,6 @@ export default class AdvancedTab extends PageObject { #jumpToAdvancedSettings = "jump-link-advanced-settings"; #jumpToAuthFlowOverride = "jump-link-authentication-flow-overrides"; - setRevocationToNow() { - cy.get(this.#setToNowBtn).click(); - return this; - } - - clearRevocation() { - cy.get(this.#clearBtn).click(); - return this; - } - - pushRevocation() { - cy.get(this.#pushBtn).click(); - return this; - } - - checkRevacationIsNone() { - cy.get(this.#notBeforeInput).should("have.value", "None"); - - return this; - } - - checkRevocationIsSetToNow() { - cy.get(this.#notBeforeInput).should( - "have.value", - new Date().toLocaleString("en-US", { - dateStyle: "long", - timeStyle: "short", - }), - ); - - return this; - } - expandClusterNode() { cy.get(this.#clusterNodesExpandBtn).click(); return this; diff --git a/js/apps/admin-ui/maven-resources/theme/keycloak.v2/admin/messages/messages_en.properties b/js/apps/admin-ui/maven-resources/theme/keycloak.v2/admin/messages/messages_en.properties index fb0abb7b9d..82c267b418 100644 --- a/js/apps/admin-ui/maven-resources/theme/keycloak.v2/admin/messages/messages_en.properties +++ b/js/apps/admin-ui/maven-resources/theme/keycloak.v2/admin/messages/messages_en.properties @@ -303,7 +303,6 @@ webAuthnPolicyCreateTimeout=Timeout comparison=Comparison passwordPoliciesHelp.digits=The number of numerical digits required in the password string. deletedSuccessClientScope=The client scope has been deleted -notBeforeError=Error clearing "Not Before" for realm\: {{error}} columnDisplayName=Display name noUsersFoundErrorStorage=No users found, could be due to wrongly configured federated provider {{error}} lookAround=Look around window @@ -457,7 +456,6 @@ displayDescriptionField=Display description eventTypes.DELETE_ACCOUNT.description=Delete account eventTypes.RESTART_AUTHENTICATION_ERROR.description=Restart authentication error evictionHour=Eviction hour -notBefore=Not before onDragFinish=Dragging finished {{list}} otpSupportedApplications.totpAppMicrosoftAuthenticatorName=Microsoft Authenticator ldapMappersList=LDAP Mappers @@ -624,7 +622,6 @@ alwaysDisplayInUIHelp=Always list this client in the Account UI, even if the use eventTypes.UPDATE_PASSWORD.name=Update password eventTypes.UPDATE_CONSENT.description=Update consent realmSaveSuccess=Realm successfully updated -notBeforePushFail=Failed to push "not before" to\: {{failedNodes}} executorTypeTextHelpText=Executor Type Text Help Text eventTypes.IDENTITY_PROVIDER_LOGIN_ERROR.description=Identity provider login error readTimeout=Read timeout @@ -718,7 +715,6 @@ rowSaveBtnAriaLabel=Save edits for {{messageBundle}} permanentLockout=Permanent lockout debug=Debug webAuthnPolicyRequireResidentKey=Require resident key -notBeforePushSuccess=Successfully push "not before" to\: {{successNodes}} unlockUsersConfirm=All the users that are temporarily locked will be unlocked. clear=Clear idpType.custom=Custom @@ -2343,7 +2339,6 @@ rowCancelBtnAriaLabel=Cancel edits for {{messageBundle}} validateSignatureHelp=Enable/disable signature validation of external IDP signatures. searchForFlow=Search for flow verifyEmail=Verify email -notBeforeIntro=In order to successfully push a revocation policy to the client, you need to set an Admin URL under the <1>Settings tab for this client first addressClaim.locality.label=User Attribute Name for Locality formatOption=Format option addAuthnContextClassRef=Add AuthnContext ClassRef @@ -2353,7 +2348,6 @@ whoCanEdit=Who can edit? mappingCreatedSuccess=Mapping successfully created eventTypes.GRANT_CONSENT.description=Grant consent client=Client -setToNow=Set to now eventTypes.OAUTH2_DEVICE_AUTH_ERROR.name=Oauth2 device authentication error addSubFlowHelp=Sub-Flows can be either generic or form. The form type is used to construct a sub-flow that generates a single flow for the user. Sub-flows are a special type of execution that evaluate as successful depending on how the executions they contain evaluate. implicitFlow=Implicit flow diff --git a/js/apps/admin-ui/src/clients/AdvancedTab.tsx b/js/apps/admin-ui/src/clients/AdvancedTab.tsx index 962b0c5c25..d6ca87b14f 100644 --- a/js/apps/admin-ui/src/clients/AdvancedTab.tsx +++ b/js/apps/admin-ui/src/clients/AdvancedTab.tsx @@ -14,7 +14,6 @@ import { ClusteringPanel } from "./advanced/ClusteringPanel"; import { FineGrainOpenIdConnect } from "./advanced/FineGrainOpenIdConnect"; import { FineGrainSamlEndpointConfig } from "./advanced/FineGrainSamlEndpointConfig"; import { OpenIdConnectCompatibilityModes } from "./advanced/OpenIdConnectCompatibilityModes"; -import { RevocationPanel } from "./advanced/RevocationPanel"; export const parseResult = ( result: GlobalRequestResult, @@ -75,11 +74,6 @@ export const AdvancedTab = ({ save, client }: AdvancedProps) => { , - }, { title: t("clustering"), isHidden: !publicClient, diff --git a/js/apps/admin-ui/src/clients/advanced/RevocationPanel.tsx b/js/apps/admin-ui/src/clients/advanced/RevocationPanel.tsx deleted file mode 100644 index 3e359d93fc..0000000000 --- a/js/apps/admin-ui/src/clients/advanced/RevocationPanel.tsx +++ /dev/null @@ -1,134 +0,0 @@ -import { - ActionGroup, - Button, - FormGroup, - InputGroup, - Text, - Tooltip, -} from "@patternfly/react-core"; -import { useEffect, useRef } from "react"; -import { useFormContext } from "react-hook-form"; -import { Trans, useTranslation } from "react-i18next"; -import { Link } from "react-router-dom"; -import { HelpItem } from "ui-shared"; - -import { adminClient } from "../../admin-client"; -import { useAlerts } from "../../components/alert/Alerts"; -import { FormAccess } from "../../components/form/FormAccess"; -import { KeycloakTextInput } from "../../components/keycloak-text-input/KeycloakTextInput"; -import { useRealm } from "../../context/realm-context/RealmContext"; -import useFormatDate, { FORMAT_DATE_AND_TIME } from "../../utils/useFormatDate"; -import { AdvancedProps, parseResult } from "../AdvancedTab"; -import { toClient } from "../routes/Client"; - -export const RevocationPanel = ({ - save, - client: { id, adminUrl, access }, -}: AdvancedProps) => { - const revocationFieldName = "notBefore"; - const pushRevocationButtonRef = useRef(); - - const { t } = useTranslation(); - const { realm } = useRealm(); - const { addAlert } = useAlerts(); - const formatDate = useFormatDate(); - - const { getValues, setValue, register } = useFormContext(); - - const setNotBefore = (time: number, messageKey: string) => { - setValue(revocationFieldName, time); - save({ messageKey }); - }; - - useEffect(() => { - register(revocationFieldName); - }, [register]); - - const getNotBeforeValue = () => { - const date = getValues(revocationFieldName); - if (date > 0) { - return formatDate(new Date(date * 1000), FORMAT_DATE_AND_TIME); - } else { - return t("none"); - } - }; - - const push = async () => { - const result = await adminClient.clients.pushRevocation({ - id: id!, - }); - parseResult(result, "notBeforePush", addAlert, t); - }; - - return ( - <> - - - In order to successfully push setup url on - - {t("settings")} - - tab - - - - - } - > - - - - - - - - {!adminUrl && ( - - )} - - - - - ); -};