UNPKG

@keycloakify/keycloak-admin-ui

Version:
71 lines 7.41 kB
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import { ActionGroup, Button, FormGroup } from "@patternfly/react-core"; import { useTranslation } from "react-i18next"; import { HelpItem, SelectControl } from "../../ui-shared"; import { FormAccess } from "../../components/form/FormAccess"; import { MultiLineInput } from "../../components/multi-line-input/MultiLineInput"; import { useServerInfo } from "../../context/server-info/ServerInfoProvider"; import { convertAttributeNameToForm, sortProviders } from "../../util"; import { ApplicationUrls } from "../../clients/advanced/ApplicationUrls"; export const FineGrainOpenIdConnect = ({ save, reset, hasConfigureAccess, }) => { const { t } = useTranslation(); const providers = useServerInfo().providers; const clientSignatureProviders = providers === null || providers === void 0 ? void 0 : providers.clientSignature.providers; const contentEncryptionProviders = providers === null || providers === void 0 ? void 0 : providers.contentencryption.providers; const cekManagementProviders = providers === null || providers === void 0 ? void 0 : providers.cekmanagement.providers; const signatureProviders = providers === null || providers === void 0 ? void 0 : providers.signature.providers; const convert = (list) => sortProviders(list).map((i) => ({ key: i, value: i })); const prependEmpty = (list) => [ { key: "", value: t("choose") }, ...convert(list), ]; const prependAny = (list) => [ { key: "any", value: t("any") }, ...convert(list), ]; const prependNone = (list) => [ { key: "none", value: t("none") }, ...convert(list), ]; return (_jsxs(FormAccess, { role: "manage-clients", fineGrainedAccess: hasConfigureAccess, isHorizontal: true, children: [_jsx(ApplicationUrls, {}), _jsx(SelectControl, { name: convertAttributeNameToForm("attributes.access.token.signed.response.alg"), label: t("accessTokenSignatureAlgorithm"), labelIcon: t("accessTokenSignatureAlgorithmHelp"), controller: { defaultValue: "", }, options: prependEmpty(clientSignatureProviders) }), _jsx(SelectControl, { name: convertAttributeNameToForm("attributes.id.token.signed.response.alg"), label: t("idTokenSignatureAlgorithm"), labelIcon: t("idTokenSignatureAlgorithmHelp"), controller: { defaultValue: "", }, options: prependEmpty(clientSignatureProviders) }), _jsx(SelectControl, { name: convertAttributeNameToForm("attributes.id.token.encrypted.response.alg"), label: t("idTokenEncryptionKeyManagementAlgorithm"), labelIcon: t("idTokenEncryptionKeyManagementAlgorithmHelp"), controller: { defaultValue: "", }, options: prependEmpty(cekManagementProviders) }), _jsx(SelectControl, { name: convertAttributeNameToForm("attributes.id.token.encrypted.response.enc"), label: t("idTokenEncryptionContentEncryptionAlgorithm"), labelIcon: t("idTokenEncryptionContentEncryptionAlgorithmHelp"), controller: { defaultValue: "", }, options: prependEmpty(contentEncryptionProviders) }), _jsx(SelectControl, { name: convertAttributeNameToForm("attributes.user.info.response.signature.alg"), label: t("userInfoSignedResponseAlgorithm"), labelIcon: t("userInfoSignedResponseAlgorithmHelp"), controller: { defaultValue: "", }, options: prependEmpty(signatureProviders) }), _jsx(SelectControl, { name: convertAttributeNameToForm("attributes.user.info.encrypted.response.alg"), label: t("userInfoResponseEncryptionKeyManagementAlgorithm"), labelIcon: t("userInfoResponseEncryptionKeyManagementAlgorithmHelp"), controller: { defaultValue: "", }, options: prependEmpty(cekManagementProviders) }), _jsx(SelectControl, { name: convertAttributeNameToForm("attributes.user.info.encrypted.response.enc"), label: t("userInfoResponseEncryptionContentEncryptionAlgorithm"), labelIcon: t("userInfoResponseEncryptionContentEncryptionAlgorithmHelp"), controller: { defaultValue: "", }, options: prependEmpty(contentEncryptionProviders) }), _jsx(SelectControl, { name: convertAttributeNameToForm("attributes.request.object.signature.alg"), label: t("requestObjectSignatureAlgorithm"), labelIcon: t("requestObjectSignatureAlgorithmHelp"), controller: { defaultValue: "", }, options: [ { key: "any", value: t("any") }, ...prependNone(clientSignatureProviders), ] }), _jsx(SelectControl, { name: convertAttributeNameToForm("attributes.request.object.encryption.alg"), label: t("requestObjectEncryption"), labelIcon: t("requestObjectEncryptionHelp"), controller: { defaultValue: "", }, options: prependAny(cekManagementProviders) }), _jsx(SelectControl, { name: convertAttributeNameToForm("attributes.request.object.encryption.enc"), label: t("requestObjectEncoding"), labelIcon: t("requestObjectEncodingHelp"), controller: { defaultValue: "", }, options: prependAny(contentEncryptionProviders) }), _jsx(SelectControl, { name: convertAttributeNameToForm("attributes.request.object.required"), label: t("requestObjectRequired"), labelIcon: t("requestObjectRequiredHelp"), controller: { defaultValue: "", }, options: [ "not required", "request or request_uri", "request only", "request_uri only", ].map((p) => ({ key: p, value: t(`requestObject.${p}`), })) }), _jsx(FormGroup, { label: t("validRequestURIs"), fieldId: "validRequestURIs", labelIcon: _jsx(HelpItem, { helpText: t("validRequestURIsHelp"), fieldLabelId: "validRequestURIs" }), children: _jsx(MultiLineInput, { name: convertAttributeNameToForm("attributes.request.uris"), "aria-label": t("validRequestURIs"), addButtonLabel: "addRequestUri", stringify: true }) }), _jsx(SelectControl, { name: convertAttributeNameToForm("attributes.authorization.signed.response.alg"), label: t("authorizationSignedResponseAlg"), labelIcon: t("authorizationSignedResponseAlgHelp"), controller: { defaultValue: "", }, options: prependEmpty(signatureProviders) }), _jsx(SelectControl, { name: convertAttributeNameToForm("attributes.authorization.encrypted.response.alg"), label: t("authorizationEncryptedResponseAlg"), labelIcon: t("authorizationEncryptedResponseAlgHelp"), controller: { defaultValue: "", }, options: prependEmpty(cekManagementProviders) }), _jsx(SelectControl, { name: convertAttributeNameToForm("attributes.authorization.encrypted.response.enc"), label: t("authorizationEncryptedResponseEnc"), labelIcon: t("authorizationEncryptedResponseEncHelp"), controller: { defaultValue: "", }, options: prependEmpty(contentEncryptionProviders) }), _jsxs(ActionGroup, { children: [_jsx(Button, { variant: "secondary", id: "fineGrainSave", onClick: save, children: t("save") }), _jsx(Button, { id: "fineGrainRevert", variant: "link", onClick: reset, children: t("revert") })] })] })); }; //# sourceMappingURL=FineGrainOpenIdConnect.js.map