update realm when changing bind (#31133)

* update realm when changing bind

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* also update used by label

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

---------

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>
This commit is contained in:
Erik Jan de Wit 2024-07-11 12:13:26 +02:00 committed by GitHub
parent 88725cd0e7
commit 2bd17cdc7c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 7 additions and 10 deletions

View file

@ -245,9 +245,7 @@ export default function AuthenticationSection() {
{
name: "usedBy",
displayKey: "usedBy",
cellRenderer: (row) => (
<UsedBy authType={row} realm={realm} />
),
cellRenderer: (row) => <UsedBy authType={row} />,
},
{
name: "description",

View file

@ -29,16 +29,15 @@ export const BindFlowDialog = ({ flowAlias, onClose }: BindFlowDialogProps) => {
const { t } = useTranslation();
const form = useForm<BindingForm>();
const { addAlert, addError } = useAlerts();
const { realm } = useRealm();
const { realm, realmRepresentation: realmRep, refresh } = useRealm();
const onSubmit = async ({ bindingType }: BindingForm) => {
const realmRep = await adminClient.realms.findOne({ realm });
try {
await adminClient.realms.update(
{ realm },
{ ...realmRep, [bindingType]: flowAlias },
);
refresh();
addAlert(t("updateFlowSuccess"), AlertVariant.success);
} catch (error) {
addError("updateFlowError", error);

View file

@ -1,4 +1,3 @@
import RealmRepresentation from "@keycloak/keycloak-admin-client/lib/defs/realmRepresentation";
import {
Button,
Modal,
@ -17,10 +16,10 @@ import useToggle from "../../utils/useToggle";
import { AuthenticationType, REALM_FLOWS } from "../AuthenticationSection";
import style from "./used-by.module.css";
import { useRealm } from "../../context/realm-context/RealmContext";
type UsedByProps = {
authType: AuthenticationType;
realm: RealmRepresentation;
};
const Label = ({ label }: { label: string }) => (
@ -96,11 +95,12 @@ const UsedByModal = ({ id, isSpecificClient, onClose }: UsedByModalProps) => {
);
};
export const UsedBy = ({ authType: { id, usedBy }, realm }: UsedByProps) => {
export const UsedBy = ({ authType: { id, usedBy } }: UsedByProps) => {
const { t } = useTranslation();
const { realmRepresentation: realm } = useRealm();
const [open, toggle] = useToggle();
const key = Object.entries(realm).find(
const key = Object.entries(realm!).find(
(e) => e[1] === usedBy?.values[0],
)?.[0];